php - null 安全运算符如何在 php 8 中工作?
问题描述
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
,这将简单地跳过表达式的其余部分。
推荐阅读
- python - 以不规则的间隔拆分 pdf
- android - kotlinx.coroutines 的 ProGuard 警告
- python-3.x - 如何正确定位元素以单击python中的href元素
- r - 使用 dplyr::mutate 对 R 中的百分比差异计算感到困惑
- javascript - 使用 webpack-dev-server 查看本地依赖项
- sql - 有没有办法添加我们自动获取日期的日期差异值?
- javascript - Nodemon ts-node 无法监视 JavaScript 更改
- amazon-redshift - Redshift XN 排序成本
- ios - UITableViewDiffableDataSource:如何获取节索引
- mongodb - MongoDB:多个因果一致会话中的最新一个