使用数组字符串作为数组键

Swe*_*ong 0 php arrays foreach multidimensional-array

我有一个数组。之后print_r($arr)如下:

Array ( 
  [0] => Array ( 
      [groupid] => 5 
      [radminid] => 1 
      [type] => system 
      [system] => private 
  ) 
  [1] => Array ( 
      [groupid] => 10 
      [radminid] => 2 
      [type] => system 
      [system] => private 
  )
)
Run Code Online (Sandbox Code Playgroud)

我想将数组更改keygroupid,类似$arr[$arr[groupid]],我尝试了

foreach($array as $key => $value){
    $arr[$value] = $arr[$arr['groupid']];
}
Run Code Online (Sandbox Code Playgroud)

如何使用$arr[groupid]as $arr键?以下是我需要的。

Array ( 
  [5] => Array ( 
      [groupid] => 5 
      [radminid] => 1 
      [type] => system 
      [system] => private 
  ) 
  [10] => Array ( 
      [groupid] => 10 
      [radminid] => 2 
      [type] => system 
      [system] => private 
  )
)
Run Code Online (Sandbox Code Playgroud)

谢谢。

Rah*_*hul 9

您可以使用

$array = array_column($array, null, 'groupid');
Run Code Online (Sandbox Code Playgroud)

array_column —从输入数组中的单个列返回值

注意:
column_key要返回的值的列。此值可以是您要检索的列的整数键,也可以是关联数组或属性名称的字符串键名。返回完整的数组或对象也可能为NULL(这与index_key一起用于重新索引数组很有用)。

如果您没有array_column的支持。请参阅链接

演示版

输出量

Array
(
    [5] => Array
        (
            [groupid] => 5
            [radminid] => 1
            [type] => system
            [system] => private
        )

    [10] => Array
        (
            [groupid] => 10
            [radminid] => 2
            [type] => system
            [system] => private
        )

)
Run Code Online (Sandbox Code Playgroud)