如何构建这个数组?

时间:2016-03-26 05:12:34

标签: php arrays

我是非常新的PHP和我在构建数组时有点麻烦,我想减少多个键($数组)和值的数组,所以我可以得到一个数组($ namesArray)只有几个具有各自值的键:

for ($i = 0; $i < count($array); $i++){

        $namesArray[] = array(

            array("id" => $array[$i]["id"]),
            array("value"=>$array[$i]["value"]),
            array("value2"=>$array[$i]["value2"]),
            array("value3"=>$array[$i]["value3"])

        );
        /*
        $namesArray[] = array(

            ("id" => $array[$i]["id"]),
            ("value"=>$array[$i]["value"]),
            ("value2"=>$array[$i]["value2"]),
            ("value3"=>$array[$i]["value3"])

            );
*/
    }   
echo json_encode($namesArray);

我得到了一个具有这种结构的json:

[
    [{
        "id": "3"
    }, {
        "value": "Test"
    }],
    [{
        "id": "4"
    }, {
        "value": "Test"
    }]
]

期待:

[
    {
        "id": "3",
        "value": "Test",
        "value2":"value2"
    },{
        "id": "4",
        "value": "Test",
        "value2":"value2"
    }
]

我已经尝试了注释行,这就是我期望代码如何,没有结果。我希望有人可以帮我看看我的错误。感谢!!!

1 个答案:

答案 0 :(得分:1)

试试这个:

for ($i = 0; $i < count($array); $i++){ 

    $namesArray[] = array(
      "id"     => $array[$i]["id"],
      "value"  => $array[$i]["value"],
      "value2" => $array[$i]["value2"],
      "value3" => $array[$i]["value3"]
    );

}

希望这有帮助。