猿问

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

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

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

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

如果是的话,人们将如何在一次查找中做到这一点?


至尊宝的传说
浏览 138回答 1
1回答

肥皂起泡泡

您可以使用null-coalescing 运算符:$val = $array[$key] ?? null;这相当于:$val = isset($array[$key]) ? $array['key'] : null;唯一的小区别是,$val无论 (to null) 是什么,它都会被定义,如果你没有else.我不能肯定地说它执行得更快,但是编写/维护它肯定更方便/更干净(因为你不会$array[$key]在语句中写两次相同的部分)。演示:https ://3v4l.org/mtG7S
随时随地看视频慕课网APP
我要回答