Protein_R
@Protein_R
PHP, Laravel, MySQL, PostgreSQL, HTML, CSS

Как получить правильный ассоциативный массив?

После запроса в БД - получаю массив вида
spoiler

array(3) {
[0]=>
array(2) {
["id"]=>
int(1)
["fac_name"]=>
string(10) "ФИТКБ"
}
[1]=>
array(2) {
["id"]=>
int(2)
["fac_name"]=>
string(6) "ИНК"
}
[2]=>
array(2) {
["id"]=>
int(3)
["fac_name"]=>
string(24) "Журналистики"
}
}


Как его можно привести к такому виду? То есть чтобы id подставлялся в key, а не value.
"1" => "Фиткб"
"2" => "ИНК"
Или я просто не правильно пользуюсь PDO ?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
$pdostmt->fetchAll(PDO::FETCH_KEY_PAIR);
Первое поле результата будет ключом массива, второе - значением.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
$DBResult = [
    ['id' => 1, 'fac_name' => 'ФИТКБ'],
    ['id' => 2, 'fac_name' => 'ИНК'],
    ['id' => 3, 'fac_name' => 'Журналистики'],
];

$resultFormat = array_column($DBResult, 'fac_name', 'id');

print_r($resultFormat); //[[1] => ФИТКБ, [2] => ИНК, [3] => Журналистики]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы