我一直在考虑使用引用赋值作为处理潜在未定义变量的捷径。
换句话说,而不是:
$foo = isset($this->blah['something']['else']) ? $this->blah['something']['else'] : null;
if (!is_null($foo) && ...){
//do something with $foo
}
我可以这样做:
$foo = &$this->blah['something']['else'];
if (!is_null($foo) && ...){
//do something with $foo
}
看起来更简单,对吧?由于 PHP 通过引用处理分配的方式,我不必担心 $this->blah['something']['else'] 被定义,因为如果它不存在,它将自动创建并设置为空。
这种策略是否受到反对?