转置关联数组的关联数组以创建索引数组的关联数组
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" } }
我需要重组数组,以便将第 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" } }