我有一些用于访问数据库值的方法。 如果我在null值上运行一个方法,它会给出错误,这就是假设要发生的事情,但是我想放入条件,即使函数失败,也应该进入数据库中的下一行。
$i=0;
foreach($data as $Data){
$fax = $Data->getFax()->getFreeFormNumber();
echo $i." Fax no. of Customer ".$fax;
$i++;
}
输出是: -
传真号码客户5678
传真号码客户9899
但是数据库有19行,第5行有传真号。在数据库和第4行传真号码。为空(null)
如何将代码打印到第5行。?我需要放入什么条件。?
答案 0 :(得分:1)
在致电getFax
之前,您必须先检查null
返回getFreeFormNumber()
。关于如何实现这一目标的一个例子如下。
$i=0;
foreach($data as $Data){
$fax = $Data->getFax();
if(null === $fax){
continue; // No fax so continue to the next item
}
echo $i." Fax no. of Customer ".$fax->getFreeFormNumber();
$i++;
}
为了使其更加安全,请重复检查getFreeFormNumber()
的结果。然后,您可以确定您没有处理null
值。
或许getFax()
甚至应该返回某种类型的对象/类,在这种情况下,将null === $fax
更改为!($fax instanceOf <theClassName>)
。这样,您就可以确保获得具有您要调用的功能的传真对象。
答案 1 :(得分:0)
您可以使用isset
例如:
if (isset($faxNo)){
echo $faxNo;
}else {
echo "null";
}