foreachで使う変数がnullの場合エラーが起こるため事前に配列の中身をチェックします。
#変数のnullチェック
通常、変数に値があるかどうかを確認したいのであればempty()やisset()関数を用いることが多いと思います。
index.php
if(!empty($array)){
foreach($array as $value){
処理
}
}
index.php
if(isset($array)){
foreach($array as $value){
処理
}
}
上記の場合、変数の中身が配列で確定しているのであれば問題ないですが、単なる変数のnullチェックになるので中身が配列型で入って来ているかの確認はできません。
#変数が配列型かどうかをチェック
index.php
if(is_array($array)){
foreach($array as $value){
処理
}
}
is_array関数を使えば変数の中身が配列型かどうかの確認ができます。
もっと簡潔に書く場合、変数を配列にキャストさせるといった書き方もできるみたいです。
index.php
foreach ((array)$array as $value) {
処理
}