PHP在PHP8中引入了null运算符。使用Null运算符的好处是什么。它是如何工作的?任何启发我知识的人都会感到愉快。
它的作用在你发现的博客文章中肯定有解释。
它的工作原理最好用一个简单的字节码转储来解释:
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
,这只会跳过表达式的其余部分。