PHP方法失败


PHP method Failure

我有一些方法用于访问数据库值。若我在它给出的null值和错误上运行一个方法,这就是假设会发生的情况,但我希望设置这样的条件,即使函数失败,它也应该继续到数据库中的下一行。

$i=0;
foreach($data as $Data){
   $fax = $Data->getFax()->getFreeFormNumber();
   echo $i." Fax no. of Customer ".$fax;
   $i++;
}

输出为:-

  1. 客户传真号码5678

  2. 客户传真号码9899

  3. 客户传真号7777

但是,数据库有19行,第5行数据库中有传真号,第4行传真号为空(空)

如何将代码打印到第5行。?我需要满足什么条件。?

在调用getFreeFormNumber()之前,您必须检查getFax是否返回null。下面是如何实现这一目标的一个例子。

$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>)。通过这种方式,您可以确保获得具有要调用的功能的传真对象。

您可以使用isset,例如:

if (isset($faxNo)){
    echo $faxNo;
}else {
    echo "null";
}