0

配列に存在しない新しいオブジェクトを配列にプッシュする必要があります。しかし、私はこのエラーを受け取り続けます。これは、ループ内で新しいオブジェクトを作成するとき、またはループ内の配列に項目をプッシュするときによく発生することを読みました。オブジェクトを再利用してメンバー値をリセットしようとしましたが、それでも同じエラーが発生します。これを達成するための最良の方法は何ですか?

エラー:

PHP Fatal error:  Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes)

コード:

if(!array_key_exists($a->name, $tArray)) $tArray[] = $a;
4

1 に答える 1

3

バグがあります。これを行う:

if(!array_key_exists($a->name, $tArray)) $tArray[$a->name] = $a;

それ以外の場合、array_key_exists は常に false を返し、常に $a を追加します。

于 2013-03-27T19:27:20.973 に答える