由于某种原因,当我尝试将一个项目添加到我的数组时,它会覆盖第一个项目。我不知道为什么要这么做。第一个元素的ID应该为1,第二个元素的ID应该为2,但是我却得到2和2。
books
结果:
$array = new stdClass;
$arrays = [];
$ids = [1,2];
foreach ($ids as $id) {
$array->id = $id;
$arrays[] = $array;
print_r($arrays);
}
答案 0 :(得分:4)
您要更新同一对象,需要在数组中放入2个不同的对象,并将类声明放入循环中。
foreach ($ids as $id) {
$array = new stdClass; // object initialization
$array->id = $id;
$arrays[] = $array;
print_r($arrays);
}