LoginSignup
1
0

More than 5 years have passed since last update.

Invalid argument supplied for foreach()

Posted at

概要

PHPで出してしまったエラーで一度詰まったので、対応を書いておく。

どんな意味か

foreach文では本来、オブジェクトか配列を指定して繰り返し処理を行うが、
指定された変数がそのどちらでもない場合にこのエラーをはく。

問題の切り分け

getypes()を使って型が適正かを判定

これに尽きます。そもそも引数としている変数が正しいのならこのようなエラーは起こらない。
ただし、なぜ思ったものと違う型になってしまうのかは追調査する必要あり。

keyとvalueの両方を指定している場合はどちらも型を調査する。

追調査

型変換をしているところや型の相互変換がされてしまうところを中心に見ると良い。
その辺りの詳しいところについては公式ドキュメント(型の相互変換)へ。

参考

PHP公式ドキュメント foreach

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0