php - 如何在 PHP 中将查询字符串更改为 json

标签 php mysql json wordpress

我刚刚开始使用Wordpress,并尝试在PHP中将查询结果更改为json,以下是查询结果。

user_id   meta_key      meta_value  
1        nickname       bko117
1        first_name     seokho
1        last_name      baek
1        genba          Company
1        Department     00
2        nickname       themedemos
2        first_name     
2        last_name 
3        nickname       john

.....

我想把这个数据改成json数据

例如:

"data":[
    {"nickname":"bko117", "first_name":"seokho","lastname":"baek","genba":"company","Department":"00" },
    {"nickname":"themedemos", "first_name":"","lastname":"","genba":"","Department":"" },
    {"nickname":"john", "first_name":"","lastname":"","genba":"","Department":"" },
    .......
   ]

当 user_id 更改时,创建新的 json 数组并将 next 放在上面。
这就是我想要做的,我已经尝试了 2 个多小时,但仍在为这个问题苦苦挣扎。
下一个代码是我到目前为止所做的。

<?php 
echo "1<br>";
global $wpdb;
$results = $wpdb->get_results("SELECT `user_id` , `meta_key` , `meta_value`
        FROM `wp_usermeta`
        WHERE `meta_key`
        IN (
        'nickname', 'first_name', 'last_name', 'Department', 'genba'
)
        ORDER BY `user_id` ASC
        LIMIT 0 , 999999");
echo "2<br>";
//print_r($results);
//print json_encode($results);
$dataArray = array();
echo "3<br>";
echo "4<br>";
foreach($results as $row){
    echo $row -> meta_key, ':';
    echo $row -> meta_value, '<br>';
}
print_r($data);
?>

预先感谢您对此事的关注。

最佳答案

使用如下:

$dataArray = array();
foreach($results as $row){
    $dataArray[$row->user_id][$row->meta_key] = $row->meta_value;
}
print_r(json_encode($dataArray));

关于php - 如何在 PHP 中将查询字符串更改为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34870852/

相关文章:

mysql - sql从字段中删除点和逗号

javascript - 将本地json文件添加到rails app,使用$.getJSON在本地获取

java - 如何使用 Jackson 排除父类(super class)属性

c# - C#中使用反射反序列化Json

php - 从外部 php 填充 html 表以允许在悬停在行上时突出显示

mysql - 插入后触发sql

php - 不允许主机连接到此服务器

MYSQL 多个选择查询在一个重复结果中

php - 将 "data-binary"从 cURL 翻译成 PHP

php - Ratchet 与 Laravel