0

PHP で配列に要素を追加すると、最後の要素が 2 回追加されるという奇妙な問題が発生しています。たとえば、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 に答える