gpt4 book ai didi

php - 在处理可能 undefined variable 时,在 PHP 中使用引用赋值是不好的做法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:45 27 4
gpt4 key购买 nike

我一直在考虑使用引用赋值作为处理潜在 undefined variable 的捷径。

换句话说,代替:

$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'] 被定义,因为如果它不存在,它将自动创建并设置为 NULL。

这个策略不受欢迎吗?

最佳答案

如果你只是想测试一个变量是否被设置并且不为空,那么你最好测试:

if (! empty($this->blah['something']['else'])) {...}

这样您就可以避免创建两个对一个根本不存在的值的引用。

在我看来,每次创建对相同值的新引用时,您的代码都会变得更加难以一目了然。

如果你需要零作为非空,那么你最好像这样创建一个全局函数:

function eempty(& $var) {
return empty($var) && $var !== 0;
}

关于php - 在处理可能 undefined variable 时,在 PHP 中使用引用赋值是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10078591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com