gpt4 book ai didi

php - PHP 中是否有可选链接?

转载 作者:行者123 更新时间:2023-12-02 06:26:50 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is there a “nullsafe operator” in PHP?

(3 个回答)


9 个月前关闭。




我想在链式语句中省略对 null 的检查,例如

if($a && $a->$b && $a->$b->$c){
$d = $a->$b->$c;
}

并改用可选链接。

这是可能的还是在 PHP 中实现的?

最佳答案

在低于 8 的 PHP 版本中,不支持可选链接。您可以使用 error control operator 模拟它的属性。 ( @ ) 这将抑制分配中通常会出现的任何错误。例如:

$b = 'b';
$c = 'c';
$e = 'e';
$a = (object)['b' => (object)['e' => 2]];
@$d = $a->$b->$c;
var_dump($d);
@$d = $a->$b->$e;
var_dump($d);
输出:
NULL
int(2)
Demo on 3v4l.org
更好的解决方案是使用空合并运算符,如@FouedMOUSSI 答案中所述。
从 PHP8(2020 年 11 月 26 日发布)开始,通过 nullsafe operator 支持可选链接(请参阅@Paul 回答或发布的副本)。

关于php - PHP 中是否有可选链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57818703/

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