标签: nullsafe

为什么我会得到 Undefined property: stdClass:: with php 8 nullsafe 运算符

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

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

return [
    'FirstName' => $reference?->first_name,
];
Run Code Online (Sandbox Code Playgroud)

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

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

return [
    'FirstName' => $reference->first_name ?? null,
];
Run Code Online (Sandbox Code Playgroud)

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

php null null-coalescing-operator nullsafe

11
推荐指数
1
解决办法
3979
查看次数

为什么 null 安全很重要

我目前正在从 java 切换到 kotlin,不断出现的优点之一是 kotlin 是空安全的,默认情况下不能为变量或对象分配空值,但有一些方法可以分配空值。空值。但是我不确定为什么这有好处,Java 不安全会产生什么问题?

到目前为止,在线搜索仅给出了零安全是什么的描述,而不是为什么要实现零安全。提前致谢。

java kotlin kotlin-null-safety nullsafe null-safety

2
推荐指数
1
解决办法
463
查看次数