我在使用内联PHP验证变量是否为空时遇到问题。我目前有以下代码:
<li>Nano: <?php if($Info['Nano'] == true): echo $Info['Nano']; else: echo $noRecords; endif; ?></li>
当$Info['Nano']
被设置时,这一切都很好,当它不存在时,我会得到存储在$noRecords中的字符串,但我也会得到一个未定义的索引通知。
我该如何解决这个问题?
您可以检查是否已设置(使用isset()
):
<li>Nano: <?php if(isset($Info['Nano']) && $Info['Nano'] == true):
echo $Info['Nano'];
else:
echo $noRecords;
endif; ?></li>
您只需添加一个AND语句即可检查它是否已设置,如下所示:
<li>Nano: <?php if(isset($Info['Nano']) && $Info['Nano'] == true): echo $Info['Nano']; else: echo $noRecords; endif; ?></li>
如果你愿意,你也可以使用三元运算符,这样整行就小一点:
<li>Nano: <?= (isset($Info['Nano']) && $Info['Nano'] == true)? $Info['Nano'] : $noRecords ?></li>