Похоже, что это должно быть (и, вероятно,) тривиально. У меня есть простой запрос:
SELECT Name From User;
Когда я запускаю запрос, используя этот код:
$rows = $preparedStatement->fetchAll(PDO::FETCH_ASSOC);
$ Строки выглядят так:
Array ( [0] => Array ( [Name] => Doug ) [1] => Array ( [Name] => John ) )
Есть ли простой способ заставить массив выглядеть примерно так:
Array( Doug, John)
Использование константы 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
Я думаю, что правильный ответ был дан Jaison Erick , если вам нужно сгладить то, что вы получили (не рекомендуется), это сделало бы это:
$flat = reset((call_user_func_array('array_merge_recursive', $rows)));