如何更改我的数组排序

时间:2014-05-31 12:22:24

标签: php arrays reorganize

这是我在我的数据库中获得的数组:

  

数组(

 [0] => Array 
    ( 
        [ID] => 4 
        [USERNAME] => John
    ) 

[1] => Array 
    ( 
        [ID] => 7 
        [USERNAME] => Ted 
    ) 
     

但我想这样:

Array 
( 
   [4] => John 
   [7] => Ted 
) 

我尝试使用array_mergearray_push等来做我喜欢的事。但我无法做到。

3 个答案:

答案 0 :(得分:2)

我使用简单的foreach

$users = array();

foreach ($results as $user) {
  $users[$user['ID']] = $user['USERNAME'];
}

答案 1 :(得分:1)

没有内置函数,只需编写一个简单的循环:

$new_array = array();
foreach ($array as $e) {
    $new_array[$e['ID']] = $e['USERNAME'];
}

答案 2 :(得分:1)

如果你使用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 )
);