从 PDO 查询结果列创建 json 编码数组

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

我正在使用来自 mysql 的数据创建一个 json 数组:

$array = $db->query("SELECT ...")->fetchAll(PDO::FETCH_ASSOC);
print json_encode($array);

返回:

[{"animal":"alpaca"},{"animal":"buffalo"},{"animal":"cat"},{"animal":"tiger"}] 

但我需要它使用以下语法返回数据:

 ["alpaca","buffalo","cat","tiger"]
php arrays json pdo jsonencode
2个回答
1
投票

使用

array_values()
解决您的问题:

$array = json_encode(array_values($array));

0
投票

您可以在这里简单地使用

array_values
,但如果要进行更改,您也可以使用
array_column
,如 as

$array = $db->query("SELECT .............")->fetchAll(PDO::FETCH_ASSOC);
print json_encode(array_column($array,'animal'));

注意:

array_column()
需要PHP > 5.5.0

© www.soinside.com 2019 - 2024. All rights reserved.