配列を返し、foreachに渡される関数があります。
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();
または、代わりに1行で:
return (isset($arr) && is_array($arr)) ? $arr : array();
しかし、私が言ったように、代わりに一番上で配列を宣言することをお勧めします。それは簡単で、心配する必要はありません。
複雑さを避けるために、単に
return [];