这是我在数据库中获取的数组:
大批 (
[0] => Array ( [ID] => 4 [USERNAME] => John ) [1] => Array ( [ID] => 7 [USERNAME] => Ted )
)
但我想这样:
Array
(
[4] => John
[7] => Ted
)
array_merge
我试图通过使用等来做我想做的事array_push
。但我做不到。
这是我在数据库中获取的数组:
大批 (
[0] => Array ( [ID] => 4 [USERNAME] => John ) [1] => Array ( [ID] => 7 [USERNAME] => Ted )
)
但我想这样:
Array
(
[4] => John
[7] => Ted
)
array_merge
我试图通过使用等来做我想做的事array_push
。但我做不到。
我会用一个简单的foreach
.
$users = array();
foreach ($results as $user) {
$users[$user['ID']] = $user['USERNAME'];
}
没有内置函数,只需编写一个简单的循环:
$new_array = array();
foreach ($array as $e) {
$new_array[$e['ID']] = $e['USERNAME'];
}
如果您使用的是 PHP >= 5.5,您可以这样做:
$newArray = array_combine(
array_column($oldArray, 'ID'),
array_column($oldArray, 'USERNAME')
);
编辑
对于早期版本的 PHP,一个简单的等价物是
$newArray = array_combine(
array_map(function($value) { return $value['ID']; }, $oldArray ),
array_map(function($value) { return $value['USERNAME']; }, $oldArray )
);