在PHP中,是否可以使用PDO获得一维数组?

时间:2011-10-27 19:18:17

标签: php arrays pdo

这似乎应该(并且可能是)微不足道的。我有一个简单的查询:

SELECT Name From User;

当我使用此代码运行查询时:

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

$ Rows看起来像这样:

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

是否有一种简单的方法可以使数组看起来像这样:

Array( Doug, John)

2 个答案:

答案 0 :(得分:21)

使用常量PDO :: FETCH_COLUMN:

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

通过这种方式,您可以得到您的建议。

您还可以执行以下操作:

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

这样你就可以得到一个具有唯一值的数组。

来源:http://www.php.net/manual/en/pdostatement.fetchall.php

答案 1 :(得分:2)

我认为right answer has been given by Jaison Erick,如果你需要压扁你已经归还的东西(不是真的推荐),这样就可以了:

$flat = reset((call_user_func_array('array_merge_recursive', $rows)));