У PHP, чи можна отримати 1 dimmensional масив з використанням PDO?

Схоже, що це має бути (і, ймовірно,) тривіальним. У мене є простий запит:

SELECT Name From User;

Коли я запускаю запит за допомогою цього коду:

$rows = $preparedStatement->fetchAll(PDO::FETCH_ASSOC);

$ Рядки виглядають так:

Array ( [0] => Array ( [Name] => Doug ) [1] => Array ( [Name] => John ) )

Чи є простий спосіб зробити масив виглядати приблизно так:

Array( Doug, John)
6
Визначте легко - :)
додано Автор hakre, джерело
Можливий дубльований PDO fetchAll масив до одного розміру
додано Автор Simon East, джерело

2 Відповіді

Використання константи PDO :: FETCH_COLUMN:

$columnNumber = 0;
$rows = $preparedStatement->fetchAll(PDO::FETCH_COLUMN, $columnNumber);

Таким чином, ви отримаєте саме те, що ви запропонували.

Ви також можете зробити наступне:

$columnNumber = 0;
$rows = $preparedStatement->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_UNIQUE, $columnNumber);

Таким чином ви отримаєте масив з унікальними значеннями.

Source: http://www.php.net/manual/en/pdostatement.fetchall.php

20
додано
Саме те, що мені потрібно. Дякую!
додано Автор Jim, джерело

Я думаю, що правильну відповідь дала Джайсон Ерік , якщо вам потрібно згладити те, що ви повернули (насправді не рекомендується), це зробить це:

$flat = reset((call_user_func_array('array_merge_recursive', $rows)));
2
додано
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php