9
我有一个返回一个数组,并传递到的foreach即在PHP返回空数组
foreach(function() as $val)
因为我返回数组一系列的if语句声明的功能,我需要返回如果所有if语句的计算结果为false,则为空数组。这是一个正确的方法吗?
if (isset($arr))
return $arr;
else
return array();
我有一个返回一个数组,并传递到的foreach即在PHP返回空数组
foreach(function() as $val)
因为我返回数组一系列的if语句声明的功能,我需要返回如果所有if语句的计算结果为false,则为空数组。这是一个正确的方法吗?
if (isset($arr))
return $arr;
else
return array();
我会建议在函数的最顶端声明$arr = array();
,所以你不必担心。
如果您在返回前立即检查,我做了而不是推荐isset
。你使用的方式是foreach
取决于返回的数组。例如,如果$arr
设置为一个数字,那么它仍然会验证。您还应该检查is_array()
。例如:
if (isset($arr) && is_array($arr))
return $arr;
else
return array();
或者在一个行:
return (isset($arr) && is_array($arr)) ? $arr : array();
但是,就像我说的,我建议在最高层的声明,而不是数组。这很容易,你不必担心它。
谢谢!我最初想要在顶部声明一个空数组,所以你就是这样做的。 – zhenming