Как изменить ключ JSON с помощью PHP?

#php #mysql #json #pdo #key

Вопрос:

Я возвращаю данные из БД с помощью php, и я возвращаю их следующим образом, поэтому я хочу их изменить.

Это то, что я пытался:

 $result = $db->run("SELECT * FROM.....")->fetchAll();

foreach($result as $key => $val) {

    $result[$key] = $result[$key]['id'];

}
 

Я хочу изменить ключ ( 0, 1) на значения идентификатора (5, 6) Измените это:

 {
  "0": {
    "id": 5,
    "date_created": "2021-08-18 03:35:31",
    "status": 1
  },
  "1": {
    "id": 6,
    "date_created": "2021-08-18 03:35:55",
    "status": 1
  }
}
 

К этому:

 {
  "5": {
    "id": 5,
    "date_created": "2021-08-18 03:35:31",
    "status": 1
  },
  "6": {
    "id": 6,
    "date_created": "2021-08-18 03:35:55",
    "status": 1
  }
}
 

Комментарии:

1. Что вы уже пробовали?

2. @BobtheMagicMoose $result = $db->выполнить(«ВЫБРАТЬ * ИЗ…..»)->>fetchAll(); foreach($результат как $ключ =>>> $val) { $результат[$ключ] = $результат[$ключ][‘идентификатор’]; }

Ответ №1:

попробуйте это

 $newResult = [];
foreach($result as $key => $val) {
    $newResult[$val['id']] = $val;
}

print_r($newResult);