gpt4 book ai didi

php - 您认为 foreach((array)$foo as $bar) 有代码味道吗?

转载 作者:行者123 更新时间:2023-12-02 04:30:46 25 4
gpt4 key购买 nike

您认为这是代码异味吗?

foreach((array)$foo as $bar)
{
$bar->doStuff();
}

我应该使用它吗?

if (isset($foo) && is_array($foo))
{
foreach($foo as $bar)
{
$bar->doStuff();
}
}

还有其他好的做法来涵盖未设置的变量和断言数组吗?

最佳答案

它们都是代码异味。第二个只是逃避所有错误消息,有点像在厨房着火之前关闭火警警报器。这两者都告诉您,您不知道变量 $foo 中有什么,也不知道它是否已在上面的代码中定义。您需要回顾一下代码并找出 $foo 到底发生了什么。

如果是我的代码,$foo 可能总是被定义为一个数组,或者 false 来指示不需要该数组:

if(do_we_need_an_array())
$foo = function_returning_an_array();
else
$foo = false;

[...snip...]

if($foo)
foreach($foo as $f) { ... }

关于php - 您认为 foreach((array)$foo as $bar) 有代码味道吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419598/

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