在php中返回空数组

时间:2012-12-11 01:24:40

标签: php arrays

我有一个返回数组的函数,并传递给foreach,即。

foreach(function() as $val)

由于我返回的数组是在一系列if语句中声明的,所以如果所有if语句都被计算为false,我需要返回一个空数组。这是一个正确的方法吗?

if (isset($arr))
  return $arr;
else 
  return array();

2 个答案:

答案 0 :(得分:11)

我建议在函数的最顶部声明​​$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();

但是,就像我说的那样,我建议在顶部声明数组。它更容易,你不必担心它。

答案 1 :(得分:0)

为避免复杂性,只需

return [];