1

最初のものは機能し、2番目のものは機能しない理由を誰かが私に説明してもらえますか? 2 番目の例では、結果は単純に「1」です。

1.

    $c = 0;
    $list = array();
    foreach ($places as $place) {
        $arr = array();
        $arr[0] = get_object_vars($place);
        $list[$c] = $arr;
        $c++;
    }
    echo json_encode(array("status" => "true", "list" => $list));

2.

    $list = array();
    foreach ($places as $place) {
        array_push($list, get_object_vars($place));
    }
    echo json_encode(array("status" => "true", "list" => $list));

両方のコード サンプルのサンプル データ:

$places = array();

$place = new StdClass;
$place->name = 'first';
$place->location = array('x' => 0.0, 'y' => 0.0);
$places[] = $place;

$place = new StdClass;
$place->name = 'Greenwich Observatory';
$place->location = array('x' => 51.4778, 'y' => 0.0017);
$place->elevation = '65.79m';
$places[] = $place;
4

1 に答える 1

1

最初のケースでは、キーと値のペアを配列に追加し、2番目のケースでは値だけを追加します。値を追加するだけで実際に機能するはずですが、多分

foreach ($places as $place) {
    array_push($list, array( 0 => get_object_vars($place) );
}

うまくいくでしょうか?

于 2012-05-06T16:44:03.617 に答える