Php 如何使用PDO::FETCH_UNIQUE将json转换为正确的格式?
我通过pdo从mySQL数据库获取数据:Php 如何使用PDO::FETCH_UNIQUE将json转换为正确的格式?,php,mysql,json,pdo,Php,Mysql,Json,Pdo,我通过pdo从mySQL数据库获取数据: $people = $db->query('SELECT * FROM people ORDER BY id ASC;')->fetchAll(PDO::FETCH_UNIQUE); 阵列人员如下所示: array(84) { [40]=> array(12) { ["name"]=>string(5) "Tiger Nixon" [0]=> string(5) "Tiger Nixon"
$people = $db->query('SELECT * FROM people ORDER BY id ASC;')->fetchAll(PDO::FETCH_UNIQUE);
阵列人员如下所示:
array(84) {
[40]=>
array(12) {
["name"]=>string(5) "Tiger Nixon"
[0]=> string(5) "Tiger Nixon"
["positon"]=> string(7) "System Architect"
[1]=> string(7) "System Architect"
["salary"]=> string(10) "$320,800"
[2]=> string(10) "$320,800"
["start_date"]=> string(11) "2011/04/25"
[3]=> string(11) "2011/04/25"
["office"]=> string(5) "Edinburgh"
[4]=> string(5) "Edinburgh"
["extn"]=> string(5) "5421"
[5]=> string(5) "5421"
}
[41]=>
array(12) {
["name"]=> string(5) "Garrett Winters"
[0]=> string(5) "Garrett Winters"
["positon"]=> string(7) "Accountant"
[1]=> string(7) "Accountant"
["salary"]=> string(10) "$170,750"
[2]=> string(10) "$170,750"
["start_date"]=> string(11) "2011/07/25"
[3]=> string(11) "2011/07/25"
["office"]=> string(5) "Tokyo"
[4]=> string(5) "Tokyo"
["extn"]=> string(5) "8422"
[5]=> string(5) "8422"
}
...
如果我现在通过echo json_encode$people将其转换为json
结果是:
{"40":{
"name":"Tiger Nixon",
"0":"Tiger Nixon",
"position":"System Architect",
"1":"System Architect",
"salary":"$320,800",
"2":"$320,800",
"start_date":"2011/04/25",
"3":"2011/04/25",
"office":"Edinburgh",
"4":"Edinburgh",
"extn":"5421",
"5":"5421",
},
...
但这不是我需要的格式。实际上我需要这种格式:
[
{
"name": "Tiger Nixon",
"position": "System Architect",
"salary": "$320,800",
"start_date": "2011/04/25",
"office": "Edinburgh",
"extn": "5421"
},
{
"name": "Garrett Winters",
"position": "Accountant",
"salary": "$170,750",
"start_date": "2011/07/25",
"office": "Tokyo",
"extn": "8422"
},
...
]
然后,您应该告诉fetchAll您希望返回一个assoc数组,而不是同时返回assoc数组和数字数组
->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)
伟大的但之前还有一个数字:{40:{姓名:Tiger Nixon,职位:系统架构师,工资:$320800,开始日期:2011/04/25,办公室:爱丁堡,extn:5421}我认为最好只使用PDO::FETCH_ASSOC