php 8 中空安全运算符是如何工作的?
How does null safe operator works in php 8?
PHP 在 PHP8 中引入了 null 运算符。使用 Null 运算符有什么好处。它是如何工作的?任何启发我知识的人都会很高兴。
它的作用肯定在博客post中有解释,你发现它在
它是如何工作的最好用一个简单的字节码转储来解释:
L3 #0 JMP_NULL $null J5 @1
L3 #1 FETCH_OBJ_R $null "optional" ~0
L3 #2 JMP_NULL ~0 J5 @1
L3 #3 INIT_METHOD_CALL ~0 "maybenull"
L3 #4 DO_FCALL
L4 #5 RETURN<-1> 1
?->
的任何出现都由属性提取或方法调用表示,但前面带有 JMP_NULL
,这将简单地跳过表达式的其余部分。
PHP 在 PHP8 中引入了 null 运算符。使用 Null 运算符有什么好处。它是如何工作的?任何启发我知识的人都会很高兴。
它的作用肯定在博客post中有解释,你发现它在
它是如何工作的最好用一个简单的字节码转储来解释:
L3 #0 JMP_NULL $null J5 @1
L3 #1 FETCH_OBJ_R $null "optional" ~0
L3 #2 JMP_NULL ~0 J5 @1
L3 #3 INIT_METHOD_CALL ~0 "maybenull"
L3 #4 DO_FCALL
L4 #5 RETURN<-1> 1
?->
的任何出现都由属性提取或方法调用表示,但前面带有 JMP_NULL
,这将简单地跳过表达式的其余部分。