在写 PHP 的数组遍历的时候,我们通常会这样写:

foreach ($definition['keys'] as $id => $val) {  // ...}

但是其实这样会引起一个重要的问题:如果 $definition['keys'] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。

推荐:《php培训》

所以,我们进阶成这个样子:

if (!empty($definition['keys']) {  foreach ($definition['keys'] as $id => $val) {    // ...  }}

是不是很常见?我们只要在外边再包含一层 if 判断就好了。这样能够保证数组的安全遍历。

不过这样还没有达到简短的需求,所以借助 PHP7 的 ?? 便利,我们可以写成这个样子:

foreach ($definition['keys'] ?? [] as $id => $val) {  // ...}

是不是很 neat ! 哈哈哈,那么在这里理解 ?? 可以这样理解:

$a = is_null($b) ? $default : $b;$a = $b ?? $default;

相当于做了一个 is_null($b) 的操作。

更多编程相关内容,请关注php中文网编程入门栏目!

更多相关文章

  1. PHP查找一列有序数组是否包含某值(二分查找)
  2. php如何去除空数组
  3. php如何修改数组的值?
  4. 如何将curl获取到的json对象转成数组
  5. 最全的php数组操作方法汇总,让你轻松掌握!
  6. PHP中数组规范和自定义集合
  7. PHP根据键值合并数组
  8. PHP 数组常用函数总结
  9. PHP重置数组为连续数字索引的三种方式

随机推荐

  1. Android 调用系统的拍相程序进行录像
  2. 申请Android Map API Key
  3. Android getSuggestedMinimumWidth()
  4. Android 防止启动页面(SplashActivity)被
  5. Android截取开机关机事件
  6. Android根据上下文对象Context找到对应的
  7. android NDK 各个版本下载地址
  8. [android]android的容器、控件
  9. Android中的AsyncTask
  10. Android(安卓)Studio重构之路,我们重新来