[英]How can I change my array sorting to like that
这是我在数据库中得到的数组:
数组(
[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 )
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.