PHP | foreach() argument must be of type array|object エラーの原因と修正案

2022-03-21PHP,PHP エラー

PHPで発生するエラー「foreach() argument must be of type array|object」が発生する原因と対処・修正案について紹介しています。

Warning: foreach() argument must be of type array|object in ~
警告:foreach()の引数はarrayまたはobject型である必要があります

エラーの発生原因と修正案

「foreach() argument must be of type array|object」というPHPエラーはforeach()関数にて配列またはオブジェクトが指定されていない場合に発生するエラーです。

このエラーは警告(Warning)に分類されています。

foreach()の引数に指定した変数の中身が配列やオブジェクトではなく数値や文字列、関数などだった場合、このエラーが発生します。

$data = 1;

foreach ($data as $key => $value) {
	// 処理
}

指定している変数または値が数値であれば「int given in」、文字列であれば「string given in」とエラー内容が出力されます。

Warning: foreach() argument must be of type array|object, int given in ~

このエラーを修正するには該当場所のforeach()で指定している変数または値が配列またはオブジェクトか確認する必要があります。

2022-03-21PHP,PHP エラー

Posted by Yousuke.U