提问人:Samuel Omopariola 提问时间:11/9/2023 最后编辑:Samuel Omopariola 更新时间:11/10/2023 访问量:82
PHP 8 错误 - 尝试在 null 上分配属性“code”
PHP 8 error - Attempt to assign property "code" on null
问:
法典:
foreach($groups as $items):
if(isset($items->item)||count($items->item) > 0){
$return = $this->formgroup($items->item);
//$return is throwing error - - Attempt to assign property "code" on null
}
endforeach;
当我尝试获取对象的属性时,PHP 7 中的一切都运行良好 - .
现在它返回错误$items->item
尝试在 null 上分配属性“code”。
我试图将对象转换为 ,但到目前为止没有成功。new stdClass()
当我记录对象时,它似乎是一个,并且检查或检查属性也不起作用。$items
object(stdClass)
isset
is_null
$items->item
下面是对象的结构var_dump($items)
public 'reason' => string 'Notice' (length=6)
public 'text' => string 'Details' (length=7)
public 'item' =>
array (size=22)
0 =>
object(stdClass)[3413]
public 'reason' => string 'Fname' (length=5)
public 'code' =>
array (size=1)
...
public 'text' => string 'F name' (length=6)
public 'type' => string 'string' (length=6)
1 =>
object(stdClass)[3415]
public 'reason' => string 'Mname' (length=5)
public 'code' =>
array (size=1)
...
public 'text' => string 'M name' (length=6)
public 'type' => string 'string' (length=6)
2 =>
object(stdClass)[3417]
public 'reason' => string 'Lname' (length=5)
public 'code' =>
array (size=1)
...
public 'text' => string 'L name' (length=6)
public 'type' => string 'string' (length=6)
3 =>
object(stdClass)[3419]
public 'reason' => string 'Nationality' (length=11)
public 'code' =>
array (size=1)
...
public 'text' => string 'Nationality' (length=11)
public 'type' => string 'string' (length=6)
有关如何检查属性上的空值的任何帮助将不胜感激。'code'
溶液:PHP 8 实现了一个严格的类型脚本,这意味着每个变量都不能更改为其他类型,因此通过创建一个新的类型转换变量来存储数据,然后进行验证,从而解决了问题。
$arr = (array)$items->item[0]->code;
if ($arr) {
$return = $this->formgroup($items->item);
}
答: 暂无答案
评论
formgroup()
code
null
$groups
$items