作为MySQL查询的结果,我得到了以下数组:
Array
(
[0] => Array
(
[id] => 11
[owner] => Mark
)
[1] => Array
(
[id] => 10
[owner] => David
)
[2] => Array
(
[id] => 9
[owner] => Poul
)
[3] => Array
(
[id] => 8
[owner] => Peter
)
[4] => Array
(
[id] => 7
[owner] => Peter
)
[5] => Array
(
[id] => 6
[owner] => Lucas
)
)
有没有一种方法可以修改它,使用PHP函数并提交foreach
过程?
我希望它看起来如下:
Array
(
11 => Mark
10 => David
9 => Poul
8 => Peter
7 => Peter
6 => Lucas
)
因此,基本上它应该根据id
和owner
的值来构建这个数组。像id => owner
。
这可能吗?
如果您使用PDO,您可以执行以下操作:
$stmt = $dbh->query("SELECT id, owner FROM table");
$arr = $stmt->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
这应该会给您一个数组,其中数组的索引是结果中第一列的值,即id。
如果您的原始数组是$arr
,那么以下代码将根据您的需要对其进行更改:
$tot = count($arr);
for($i=0;$i<$tot;$i++) {
$key = $arr[$i]['id'];
$val = $arr[$i]['owner'];
unset($arr[$i]);
$arr[$key] = $val;
}