首页 > 解决方案 > null 安全运算符如何在 php 8 中工作?

问题描述

PHP 在 PHP8 中引入了 null 运算符。使用 Null 运算符有什么好处。它是如何工作的?任何人启发我的知识都会令人愉快。

标签: phpnulloperator-keywordphp-8

解决方案


的作用肯定在您发现它提到的博客文章中得到了解释。

它是如何工作的最好用一个简单的字节码转储来解释:

 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,这将简单地跳过表达式的其余部分。


推荐阅读