抽象gettting数组值或空为空



当未设置数组键/索引时,我需要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;

相关内容

  • 没有找到相关文章