繁体   English   中英

我怎样才能改变我的数组排序

[英]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_mergearray_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM