PHP 数组仅列出值

问题描述 投票:0回答:1

有一个数组:

print_r($rowsiid);

结果:

数组 ( [0] => 数组 ( [i_id] => 85 ) [1] => 数组 ( [i_id] => 94 ) [2] => 数组 ( [i_id] => 99 ) [3] =>数组 ( [i_id] => 101 ) [4] => 数组 ( [i_id] => 103 ) [5] => 数组 ( [i_id] => 105 ) [6] => 数组 ( [i_id] => 107 ) [7] => 数组 ( [i_id] => 109 ) [8] => 数组 ( [i_id] => 117 ) [9] => 数组 ( [i_id] => 119 ) )

将其转换为列表:

echo json_encode($rowsiid);

结果:

[{"i_id":85},{"i_id":94},{"i_id":99},{"i_id":101},{"i_id":103},{"i_id":105}, {"i_id":107},{"i_id":109},{"i_id":117},{"i_id":119}]

但预期结果为:

[85,94,99,101,103,105,107,109,117,119]

php arrays list jsonencode
1个回答
0
投票

您已经有了一个关联数组的索引数组——即使这些关联数组本身只有一个元素。因此外部数组中的每个元素(例如,

$array[0]
)本身就是另一个数组:

print_r($array[0]);

Array
(
    [i_id] => 85
)

如果您只想从每个元素中获取

i_id
值,则必须专门提取它。您可以使用
array_column()
轻松完成此操作:

print_r(array_column($array, 'i_id'));

Array
(
    [0] => 85
    [1] => 94
    [2] => 99
    [3] => 101
    [4] => 103
    [5] => 105
    [6] => 107
    [7] => 109
    [8] => 117
    [9] => 119
)

然后,如果您想要一个 JSON 字符串,只需对其进行编码即可:

echo json_encode(array_column($array, 'i_id'));

[85,94,99,101,103,105,107,109,117,119]
© www.soinside.com 2019 - 2024. All rights reserved.