我需要在数组中不存在的情况下将新对象推送到数组中。但我一直收到这个错误。我读到这通常发生在循环中创建新对象或将项目推送到循环中的数组时。我试图重用对象,只是重置成员值,但我仍然得到相同的错误。实现这一目标的最佳方法是什么?
错误:
PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes)
代码:
if(!array_key_exists($a->name, $tArray)) $tArray[] = $a;
答案 0 :(得分:3)
你有一个错误。这样做:
if(!array_key_exists($a->name, $tArray)) $tArray[$a->name] = $a;
否则array_key_exists将始终返回false并始终向其添加$。