gpt4 book ai didi

php - 为什么我得到 Undefined property: stdClass::with php 8 nullsafe operator

转载 作者:行者123 更新时间:2023-12-05 01:52:01 24 4
gpt4 key购买 nike

Php 8.0 引入了 nullsafe 运算符,可以像这样使用 $foo?->bar?->baz;。我有一个在 php 8.1 上运行的代码示例,它抛出错误 Undefined property: stdClass::$first_name 即使它使用的是 nullsafe 运算符:

$reference = (object) $reference; // Cast of array to object

return [
'FirstName' => $reference?->first_name,
];

要解决错误,我必须使用空合并运算符:

$reference = (object) $reference; // Cast of array to object

return [
'FirstName' => $reference->first_name ?? null,
];

为什么 nullsafe 运算符在这种情况下会抛出错误?

最佳答案

您似乎对 nullsafe 运算符的作用有一点误解。

如果 $referencenull,则 $reference?->first_name 将返回 null 而没有警告, 但由于 $reference 实际上是一个对象,?-> 的功能就像一个普通的对象运算符,因此出现未定义的属性警告。

关于php - 为什么我得到 Undefined property: stdClass::with php 8 nullsafe operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71845994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com