当未设置数组键/索引时,我需要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
呢?这是一个清晰的名字吗?它太冗长了吗?
最后,是否有比三元的文字语法?
由于PHP7有一个无效的合并操作员,可以将您的代码简化为:
$somePerson->id = $data ?? null;
// also works for arrays:
$somePerson->id = $data['id'] ?? null;