Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【PHPで配列要素のnull判定を省略するテクニック】

f:id:wp-lesson:20161008011829j:plain

PHPで配列を使って繰り返し処理をやりたいとき、

foraech($products as $product) :
    //ここに繰り返し処理を書く
endforeach;

このように記述すると、もし配列 $products の中身が1件もない場合に
エラーが発生してしまいます。

かといって、いちいちnull判定をするのは冗長な気がします。

中身が1件もないときは、エラーではなく foreach が空振りするだけ
という動作をしてくれればnull判定用のロジックを追加しなくて済むので
コードが簡潔になります。

その方法がこちら。

PHPのforeach文でnullチェックなしでエラー回避|リスティング広告の運用代行ならカルテットコミュニケーションズ

なるほど、これは便利です。
 
強制的に配列型にキャストするのがポイントです。
 

foraech((array)$products as $product) :
    //ここに繰り返し処理を書く
endforeach;

これなら常套なコードを省けるし、エラーが起きません。 

実務で得たノウハウです。