-4

我对 PHP 很陌生,现在我正在尝试打印非空值。我有以下 php 代码,它会抛出所有值,包括 null 和非 null。在我的网站中,我只需要不为空值。

        <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 ?>
4

5 回答 5

2

像这个例子一样改变所有的td:

<?php if(!is_null($stock['stsymbol'])){ ?>
    <td><?php echo $stock['stsymbol']; ?><td>
<?php } ?>
于 2013-07-17T06:00:32.827 回答
1
try using this

<td><?php if(!empty($stock['stsymbol'])){ echo $stock['stsymbol']; }?><td>
于 2013-07-17T05:58:57.070 回答
0

您要遵循以有条件地打印值的基本模式是

  <?php 
      if (!empty($stock['stsymbol'])) {
             echo $stock['stsymbol'];
      }
  ?>

这可以通过使用三元 if 来缩短

  <?php echo (!empty($stock["stsymbol"]))?$stock["stsymbol"]:"" ?>

更新

关于用于测试空值的机制的评论中进行了很多讨论。我认为回顾一下每个人的优点可能会很好。

is_null - 如果变量严格为 null 或未定义,则返回 true(如果未定义将发出通知)

- 如果变量是假的或未定义的,则返回真(不会发出通知)

!$val - 与空相同,但带有未定义值的通知。

于 2013-07-17T06:01:11.303 回答
0

phpis_null显然有这样的情况。利用

if (!is_null($varname)) echo $varname;
于 2013-07-17T06:01:38.353 回答
-1

您可以完全避免该问题,并在当前的 foreach 中使用另一个 foreach循环。

它是这样的:

foreach ($stock as $key=>$value) {
    echo "<td>$value</td>";
}
于 2013-07-17T05:59:18.403 回答