0

我遇到了一个奇怪的问题,当我在 PHP 中向数组添加元素时,最后一个元素被添加了两次。例如,我创建了 3 个数组,但是当我使用array_push()or组合它们时$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. 有什么建议么?

4

1 回答 1

1

你为什么要做一个多维数组$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);
于 2013-10-19T22:26:53.067 回答