加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP简短又安全的数组遍历

发布时间:2022-06-29 02:28:42 所属栏目:PHP教程 来源:互联网
导读:在写 PHP 的数组遍历的时候,我们通常会这样写: foreach ($definition[keys] as $id = $val) { // ... } 但是其实这样会引起一个重要的问题:如果 $definition[keys] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。 所以,我们进阶成这
  在写 PHP 的数组遍历的时候,我们通常会这样写:
 
  foreach ($definition['keys'] as $id => $val) {
  
    // ...
  
  }
  但是其实这样会引起一个重要的问题:如果 $definition['keys'] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。
 
  所以,我们进阶成这个样子:
 
  if (!emptyempty($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) 的操作。
 
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!