首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果while循环中的变量为空,则回显0而不是空

如果while循环中的变量为空,则回显0而不是空
EN

Stack Overflow用户
提问于 2011-12-28 03:00:02
回答 5查看 2.6K关注 0票数 0

我有以下循环:

代码语言:javascript
复制
    while($row = mysql_fetch_assoc($result)) {
    <some code>
     if ($user)
                echo '<li><a href="mahjong.php?layout='.$row['LayoutName'].'"><img src="images/layouts/'. $row['LayoutName'].'.png" alt="" /> <img src="images/'. $row['Stars'].'.png" alt="" /></a>
                        <div class="info">
                            <h2>'.$row['LayoutName'].'</h2>
                            <p>'.$row['LayoutTiles'].' Tiles, '.$row['LayoutLayers'].' Layers</p>
                            <hr size=2 color="white"> 
                            <p>Score: '.$row['Score'].'</p> 
                            <p>Time:&nbsp;&nbsp;'.$row['Time'].'</p>
                        </div>
                      </li>';
            else 
    <some more code> 
}

这个while循环工作得很好,但有时有些变量没有数据。这是正确的,因为在数据库中有简单的无。如果发生这种情况,则不会显示任何内容。我希望它是这样的,如果变量是空的,它会回显一个0。

示例$row['Score'] =空-> 0

谢谢,

ps可能$row['Time']有一个值,而$row['Score']没有!!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-28 03:02:41

你可以这样做:

代码语言:javascript
复制
'<p>Score: '.(empty($row['Score'])?"0":$row['Score']).'</p> '

希望它能帮上忙!

票数 3
EN

Stack Overflow用户

发布于 2011-12-28 03:01:53

在最近的PHP版本中,你可以使用$row['Score'] ?: 0等。

票数 5
EN

Stack Overflow用户

发布于 2011-12-28 03:03:50

如果你想让代码保持原样,你可以使用sql方法coalesce:

代码语言:javascript
复制
select coalesce(score, 0) as score from table

coalesce返回第一个非空参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8648231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档