猿问

抽象获取数组值或 null 如果为空

NULL当未设置数组键/索引时,我需要这样做是很常见的,所以我正在考虑抽象isset(...) ? ... : ...;成一个函数,如:


function valueOrNull($array,$key){

    return isset($array[$key]) 

            ? $array[$key] : NULL;

}

然后我会称它为:


$somePerson->id = valueOrNull($data, 'id');

然后$somePerson->id是NULL,在$_POST请求创建一个新人的情况下,而从数据库加载时,它的 id 将是一个 int。


这是一个好主意吗?是我太懒了吗?我只是讨厌打字$array['key'],所以打两次就特别烦人。


那么命名valueOrNull呢?这是一个足够清晰的名字吗?是不是太啰嗦了?


最后,有没有比三元更简洁的语法?


一只名叫tom的猫
浏览 149回答 1
1回答

慕田峪4524236

由于 php7 有一个空合并运算符,您的代码可以简化为:$somePerson->id = $data ?? null;// also works for arrays:$somePerson->id = $data['id'] ?? null;
随时随地看视频慕课网APP
我要回答