>我遇到了一个奇怪的问题,当我在 PHP 中向数组添加元素时,最后一个元素被添加两次。例如,我创建了 3 个数组,但是当我使用 array_push()
或 $array[]
组合它们时,它会复制最后一个元素,给我 4 个数组。下面是一个示例:
$master_array = [];
foreach($days as $i=>$day){
$single_array[$i] = array(
'id' => $day->id,
'some_variable' => $day->some_variable
);
$master_array[] = $single_array[$i];
}
$result = json_encode($master_array);
如果期望的输出是[1,2],[2,3],[3,4]
,那么它将回显[1,2],[2,3],[3,4],[3,4]
,复制最后一个元素。在我运行json_encode
之前似乎还可以.有什么建议吗?
为什么要为$single_array
做一个多维数组?您不需要额外的维度。
$master_array = array();
foreach($days as $i=>$day){
$single_array = array(
'id' => $day->id,
'some_variable' => $day->some_variable
);
$master_array[] = $single_array;
}
$result = json_encode($past_appts);