Php 如何将数组排序更改为这样

Php 如何将数组排序更改为这样,php,arrays,reorganize,Php,Arrays,Reorganize,这是我在数据库中获取的数组: 数组( ) 但我想这样: Array ( [4] => John [7] => Ted ) 我试图通过使用array\u merge,array\u push等实现我想要的功能。但我做不到。没有内置函数,只需编写一个简单的循环: $new_array = array(); foreach ($array as $e) { $new_array[$e['ID']] = $e['USERNAME']; } 没有内置函数,只需

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

数组(

)

但我想这样:

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

我试图通过使用
array\u merge
array\u push
等实现我想要的功能。但我做不到。

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

$new_array = array();
foreach ($array as $e) {
    $new_array[$e['ID']] = $e['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 )
);

如果您使用的是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 )
);

我会使用一个简单的
foreach

$users = array();

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

我会使用一个简单的
foreach

$users = array();

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

“Selim”和“Hakan”的值应该来自哪里?对不起,我写错了“Selim”和“Hakan”的值应该来自哪里?对不起,我写错了