「 Invalid argument supplied for foreach()」というPHPエラー

2019年6月12日未分類エラーログ

Invalid argument supplied for foreach() in~

翻訳:foreachの引数が無効です

「Invalid argument supplied for foreach()」はforeachを利用する際に起こるPHPエラー

引数に定義している値が配列またはオブジェクトでない場合に発生します

以下PHPコードははエラーになります

<?php
$data = 'abc';
foreach ($data as $key => $value) {
 echo $key.$value;
}
?>

解決策

引数に定義している値が配列やオブジェクトになっているか確認・修正します

また状況によって配列でなくなる場合がある場合は「(array)」を利用してエラーを回避する事が可能です

<?php
$data = 'abc';

foreach ((array)$data as $key => $value) {
 echo $key.$value;
}
?>


(array)を付けた場合、配列でなくても配列として処理され出力結果は「0ABC」となります

2019年6月12日未分類エラーログ

Posted by Yousuke.U