array_values在我的情况下保持了关键密钥

时间:2015-02-13 15:24:25

标签: php arrays

$array = array();
foreach($row as $data){
$array[$data] = array(
'id' => $data;
)
}
$result = array_values($array);

json_encode($result);

使用上面的代码,我得到的就像这样

[{"id":"123"},{"id":"456"},{"id":"987"}]

但为什么不["123","456","987"]

1 个答案:

答案 0 :(得分:2)

因为您有效地构建了一个数组,其元素也是数组(每个包含一个元素),其中key名为id,值为123,{{1}等等。

因此,如果您希望收到类似456的输出,则应将代码更改为:

["123","456","987"]

顺便说一下,我认为您实际上不需要$array = array(); foreach($row as $data){ $array[$data] = $data; } $result = array_values($array); json_encode($result); 成为已创建数组中的键,因此您可能最终得到此代码:

$data

......但这取决于您的需求。