Php 在我的案例中,数组_值保持关联键

Php 在我的案例中,数组_值保持关联键,php,arrays,Php,Arrays,有了上面的代码,我得到的是这样的 $array = array(); foreach($row as $data){ $array[$data] = array( 'id' => $data; ) } $result = array_values($array); json_encode($result); 但是为什么不[“123”、“456”、“987”] 因为您正在有效地构建一个数组,该数组的元素也是数组(每个数组包含一个元素),其中包含一个名为id的键和一个值123,456等 因

有了上面的代码,我得到的是这样的

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

json_encode($result);

但是为什么不
[“123”、“456”、“987”]

因为您正在有效地构建一个数组,该数组的元素也是数组(每个数组包含一个元素),其中包含一个名为
id
键和一个值
123
456

因此,如果您希望接收像
[“123”、“456”、“987”]
这样的输出,您应该将代码更改为:

[{"id":"123"},{"id":"456"},{"id":"987"}]
顺便说一句,我不认为您实际上需要
$data
作为所创建数组中的一个键,这样您就可能得到以下代码:

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

json_encode($result);

…但这取决于您的需要。

这只是取unqiue值,这就是我的目的。他后来的代码,即我同时编辑的答案,将给出您想要的输出:
[“123”、“456”、“987”]
$array = array();
foreach($row as $data){
    $array[] = $data;
}
json_encode($array);