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