1

「book」という PHP クラスがあります。そのさまざまなインスタンスを作成し、それらを という配列に配置しました$books。これが PHP での最善のアプローチではないことはわかっていますが、JavaScript で OOP を学んだので、通常はそうしています。

の var_dump$booksが生成します

array(2) { [0]=> object(book)#3 (6) { // some properties }
[1]=> object(book)#4 (6) { // some properties } }

私は常にオブジェクトの配列を反復することができましたforeach($books as $book)が、今回はエラーが発生します:

book 型のオブジェクトを配列として使用できません

Var ダンプはそれが配列であると言っています: エラー報告はオブジェクトであると言っています。どうしてこれなの?

$booksで作成され、$books = array();その中のオブジェクトは で追加されarray_push()ます。$booksオブジェクトではなく配列です: PHP は狂っていますか?

4

2 に答える 2

1

Book オブジェクトの配列ではなく Book オブジェクトを反復しようとしているように見えます。配列と変数をよく確認してください。おそらく、オブジェクトを配列 var に割り当てているのではなく、配列に追加しています

于 2013-06-05T17:10:08.927 に答える