我有一个通过框架 (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);
最佳答案
你试过array_map吗?
$countries = array_map(function ($item) { return $item->country; }, $result );
关于php - 合并多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972169/