转置关联数组的关联数组以创建索引数组的关联数组

Transpose associative array of associative arrays to create associative array of indexed arrays

我需要重组数组,以便将第 2 级键用作分组的第 1 级键,并且应将相应的值作为索引元素推送到组的子数组中。

这是我的数组:

[username] => Array
    (
        [3805120] => 5
        [3805121] => 7
    )

[login] => Array
    (
        [3805120] => 9
        [3805121] => 11
    )

我需要这样的东西:

[3805120] => Array
    (
        [0] => 5
        [1] => 9
    )

[3805121] => Array
    (
        [0] => 7
        [1] => 11
    )

很简单。您需要一个嵌套循环,将子数组的键设置为新数组的键,并使用 [] 以便新值 "added" 到具有自动增加值 [0,1,.. .n].

[username] => Array ( [3805120] => 5 [3805121] => 7 )

[login] => Array ( [3805120] => 9 [3805121] => 11 )

// $array is the original array
$newArray = array();

foreach($array as $key => $subarray){
  //key: username, login
  foreach($subarray as $j => $k){
    //j: 3805120, 3805121
    //k: 5,7,9,11
    $newArray[$j][] = $k;
    //1st round: $newArray[3805120][0] = 5, $newArray[3805121][0] = 7
    //2nd round: $newArray[3805120][1] = 9, $newArray[3805121][1] = 11 
  }
}

var_dump($newArray);

输出:

array(2) { [3805120]=> array(2) { [0]=> string(1) "5" [1]=> string(1) "9" } [3805121]=> array(2) { [0]=> string(1) "7" [1]=> string(2) "11" } }