【发布时间】:2013-08-01 02:01:10
【问题描述】:
我有一个通过框架 (WolfCMS) 进行的 MYSQL 查询。
$sql_query = 'SELECT DISTINCT country FROM ' . $tableName . ' ORDER BY country ASC';
$countries = Record::query($sql_query, array()); //execute query
但是返回的是这样的对象数组
Array ( [0] => stdClass Object (
[country] => Canada ) [1] => stdClass Object (
[country] => France ) )
我想知道 php 是否有办法合并所有对象以使数组尽可能简单
Array ( [0] => Canada [1] => France )
我知道,一旦我获得数据并按照我需要的方式创建自定义数组,我总是可以使用 foreach 循环解析数组,但我想知道是否有办法直接将数据从数据库。
我只想要一个简单的数组,将其用作文本字段上自动完成功能的参数。
* 编辑 *
我找到了更好的方法。我只需要避免使用 Record 类执行查询。
方法如下
//create sql statement
$sql_query = 'SELECT DISTINCT country' .
' FROM ' . Record::tableNameFromClassName(__CLASS__) .
' ORDER BY country ASC';
$stmt = Record::getConnection()->prepare($sql_query);
$stmt->execute(array());
return $stmt->fetchAll(Record::FETCH_COLUMN);
【问题讨论】:
-
你使用什么框架,有些框架自带获取数组而不是对象的内置功能。为什么数据返回的方式在您的情况下很重要?
-
你能发布你用来执行和检索查询的代码吗?
-
您可以扩展框架/api并添加一些方便的方法。
-
更新了答案。 @SergeiBeregov 我知道array_merge,但我希望合并未知数量的数组。我知道我可以使用 for 循环,但考虑到这是一个简单的查询,我只是认为会有一个更简单的解决方案。但我不认为我不能使用这个框架。谢谢大家。