我是PHP的新手,现在我正在尝试打印非空值。我有以下PHP代码,它抛出所有值,包括null和非nulls。在我的网站中,我只需要空值。
<tr>
<td><?php echo $stock['stsymbol']?><td>
<td><?php echo $stock['noshares']?><td>
<td><?php echo $stock['purchaseprice']?><td>
<td><?php echo $stock['datepurchased']?><td>
<td><?php echo $stock['Original Value']?><td>
<td><?php echo $stock['Current Price']?><td>
<td><?php echo $stock['Current Value']?><td>
</tr>
<?php } // end foreach ?>
答案 0 :(得分:2)
像这个例子一样更改所有td:
<?php if(!is_null($stock['stsymbol'])){ ?>
<td><?php echo $stock['stsymbol']; ?><td>
<?php } ?>
答案 1 :(得分:1)
try using this
<td><?php if(!empty($stock['stsymbol'])){ echo $stock['stsymbol']; }?><td>
答案 2 :(得分:0)
要有条件地打印值的基本模式是
<?php
if (!empty($stock['stsymbol'])) {
echo $stock['stsymbol'];
}
?>
使用三元if
可以缩短这一点 <?php echo (!empty($stock["stsymbol"]))?$stock["stsymbol"]:"" ?>
<强>更新强>
关于用于测试空值的机制的评论中已经进行了很多讨论。我认为回顾每一个的优点可能会很好。
is_null - 如果变量严格为null或未定义,则返回true(如果未定义,将发出通知)
为空 - 如果变量是假的或未定义的,则返回true(不会发出通知)
!$ val - 与空相同但带有未定义值的通知。
答案 3 :(得分:0)
is_null
。使用
if (!is_null($varname)) echo $varname;
答案 4 :(得分:-1)
您可以完全避免此问题,并在当前的foreach中使用另一个foreach 循环。
它是这样的:
foreach ($stock as $key=>$value) {
echo "<td>$value</td>";
}