PHP 在一个语句中通过未知索引获取数组的值



如果不确定数组索引是否存在,他通常会做类似的事情

if (isset($array[$key]))
$val = $array[$key];

对于大型数组,不执行两次此查找是否更快?

如果是,如何一次查找即可做到这一点?

您可以使用空合并运算符:

$val = $array[$key] ?? null;

相当于:

$val = isset($array[$key]) ? $array['key'] : null;

唯一的小区别是,无论如何(null(都会定义$val,在原始代码中,如果您没有else,它将保持未定义状态。

我不能肯定地说它的执行速度更快,但它绝对更方便/更干净(因为你不会在语句中两次编写相同的$array[$key]部分(。

演示:https://3v4l.org/mtG7S

最新更新