Показать два столбца MySQL в качестве ключа и значение в формате JSON - PullRequest
0 голосов
/ 04 мая 2020

Я хочу показать эти MySQL данные таблицы в JSON объектном формате со столбцом _key как ключ и _value столбец как значение . mysql table data

Как я могу сделать это с PDO в PHP?

Я пытался так:

$info_arr = array();

while ($row = $result->fetch(PDO::FETCH_ASSOC))
    $info_arr[] = $row;
echo json_encode($info_arr);

Но это дает мне вот так:

[
{
    "_key": "app_name",
    "_value": "Mathology"
},
{
    "_key": "app_package",
    "_value": "com.shovon.mathology"
},
{
    "_key": "app_version",
    "_value": "1.0"
},
{
    "_key": "app_icon",
    "_value": "com.shovon.mathology"
}
]

Но я хочу получить такой результат:

[
 {
     "app_name": "Mathology",
     "app_package": "com.shovon.mathology",
     "app_version": "1.0",
     "app_icon": "com.shovon.mathology"
 }
]

1 Ответ

1 голос
/ 04 мая 2020
echo json_encode($result->fetchAll(\PDO::FETCH_KEY_PAIR));

Вывод:

{
    "app_name": "Mathology",
    "app_package": "com.shovon.mathology",
    "app_version": "1.0",
    "app_icon": "com.shovon.mathology"
}

Я не знаю, почему вы хотите поместить один объект в массив JSON. Мое решение выводит только объект. Если вы хотите обернуть его в массив, просто поместите его в [] перед отправкой в ​​json_encode()

echo json_encode([$result->fetchAll(\PDO::FETCH_KEY_PAIR)]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...