web creating

POROA

【PHP】PHPエラー Warning:Invalid argument supplied for foreach() の解決方法

私もよくやってしまう、このエラー

内容は「配列が空ですよ」ということです。

いくつかの回避方法がありますのでご紹介します。

1.is_array(mixed var)

これは、与えられた変数が配列かどうかを検査します。

配列じゃなければforeachしません。とういうことです。

一番ポピュラーなやり方かと思います。

if(is_array($array)){
     foreach($array as $itm){
          //命令文
     }
}

2.(array)array型へのキャスト

ちょっと、乱暴なやり方なのですが、コードがかなりスマートになります。

PHPではarray型へのキャストが用意されており、スカラー変数ならその値をひとつの要素とした配列に、配列ならそのままの状態にキャストすることができます。
要するに、配列じゃなかったら強制的に配列にするということです。
foreach((array)$array as $itm){
         //命令文
}


ほかにも、count関数等で確認する方法等がありますが、この2つを覚えておけば良いかと思います。
著者:poroa | 投稿日:2016年09月16日 | カテゴリ:PHP
■最新記事
■カテゴリ一覧
CSS
Excel
Google Analytics
HTML
jQuery
PHP
SEO
WordPress
ホームページ作成
ホームページ作成講座
未分類
楽天
■アーカイブ
2018年9月
2016年12月
2016年11月
2016年10月
2016年9月
2016年8月
■ランキング