【发布时间】:2016-12-08 06:19:56
【问题描述】:
我正在尝试输出 on 对象的值,但某些对象记录可能不存在该值。如何返回值而不引发错误“未定义属性:stdClass”?
例如,我有一个对象:
$obj = '[{"id":111,"value1":1,"value2":2},{"id":111,"value1":1}]';
value2对于数组中的第二个元素不存在,我想写一个函数来处理数组中的每个对象。示例:
function add($obj){
$sum = 0;
foreach($obj as $o){
$sum += $o->value1;
if(isset($o->value2)){
$sum += $o->value2;
}
}
return $sum;
}
if 部分是我想要改进的部分。某些对象可能不存在许多其他值。我不想每次都写if(isset($o->valueN))。
有没有其他更简单的方法来编写代码以避免未定义的属性错误?
【问题讨论】:
-
尝试遍历
$o可能吗?像这样的东西:stackoverflow.com/questions/4976624/…
标签: php