摘要:在写的数组遍历的时候,我们通常会这样写但是其实这样会引起一个重要的问题如果没有定义的话,这个时候的数组变量也就是就会出现错误。这样能够保证数组的安全遍历。
在写 PHP 的数组遍历的时候,我们通常会这样写:
foreach ($definition["keys"] as $id => $val) { // ... }
但是其实这样会引起一个重要的问题:如果 $definition["keys"] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。
所以,我们进阶成这个样子:
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) 的操作。
如果你有更好的,请评论告知!
双十一关注公众号 codecasts 即送 100 元订阅优惠劵的活动还有效!CODECASTS 支持 ETC BTC等电子购买订阅会员啦
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26056.html
摘要:以上例程会输出返回值类型声明增加了对返回类型声明的支持。整数除法函数从移植到可为空类型参数以及返回值的类型现在可以通过在类型前加上一个问号使之允许为空。对于函数来说,不是一个合法的返回值。对于返回值,子类可以拓宽父类的或对象返回值类型到。 PHP5.5 ~ PHP7.2 新特性整理 官方文档:http://php.net/manual/zh/appe... 一、从PHP 5.5.x ...
摘要:前言腾讯一面,相比阿里一面来说,腾讯一面先给打电话预定时间,这也给了我们这些面试者去准备的时间。其实闭包也就是指有权访问另一个函数作用域的函数而已。常用的创建闭包的方法就是在函数内部创建另一个函数。 前言 腾讯一面,相比阿里一面来说,腾讯一面先给打电话预定时间,这也给了我们这些面试者去准备的时间。但是也正是因为这种确定性,也有在等待电话的时候的心情的忐忑。 背景 我是一名大三学生,大一...
阅读 2310·2021-11-18 10:02
阅读 1877·2021-10-13 09:40
阅读 2965·2021-09-07 10:07
阅读 2065·2021-09-04 16:48
阅读 953·2019-08-30 13:18
阅读 2420·2019-08-29 14:03
阅读 2879·2019-08-29 12:54
阅读 3129·2019-08-26 11:41