2016-03-26 36 views
0

在php和Im中我很新,在构建数组时有一点麻烦,我想减少多个键($ array)和值的数组,因此我只能使用几个键获取一个数组($ 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

试试这个:

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"] 
    ); 

} 

希望这有助于。

+0

:O非常感谢你!没有括号完美工作! –