Я так новичок в 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 ?>
измените все td следующим образом:
<?php if(!is_null($stock['stsymbol'])){ ?> <td><?php echo $stock['stsymbol']; ?><td> <?php } ?>
try using this <td><?php if(!empty($stock['stsymbol'])){ echo $stock['stsymbol']; }?><td>
php имеет is_null
явно для такой ситуации. использование
if (!is_null($varname)) echo $varname;
Основной шаблон, который вы хотите использовать для условной печати значения,
<?php if (!empty($stock['stsymbol'])) { echo $stock['stsymbol']; } ?>
Это можно сократить, используя тройную, если
<?php echo (!empty($stock["stsymbol"]))?$stock["stsymbol"]:"" ?>
ОБНОВИТЬ
В комментариях относительно механизма, используемого для проверки нулевого значения, было проведено большое обсуждение. Я подумал, что было бы хорошо повторить достоинства каждого.
is_null – возвращает true, если переменная строго нулевая или неопределенная (выдаст уведомление, если оно не определено)
empty – возвращает true, если переменная является ложной или неопределенной (не будет выдавать уведомление)
! $ val – тот же, что и пустой, но с уведомлением с неопределенными значениями.
Вы можете полностью избежать проблемы и использовать другой цикл foreach в своем текущем foreach.
Это происходит так:
foreach ($stock as $key=>$value) { echo "<td>$value</td>"; }