Довольно простой. Вам нужен вложенный цикл, который устанавливает ключи подмассива в качестве ключей нового массива и использует []
, чтобы новые значения были добавлены к массиву с автоматическим значением увеличения [0,1, ... n].
[имя пользователя] => Массив ( [3805120] => 5 [3805121] => 7 )
[Войти] => Массив ( [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);
Выход:
массива (2) {[3805120] => массив (2) { [0] => строка (1) "5" [1] => строка (1) "9" } [3805121] => массив (2) { [0] => строка (1) "7" [1] => строка (2) "11"}}
Что именно вы пробовали и как это терпит неудачу? – jeroen
Я пытаюсь array_replace_recursive и array_merge_recursive, но безуспешно. – didsun
Существует не волшебная функция PHP, которая интуитивно понимает структуру вашего массива и распознает, как вы хотите ее изменить; вам на самом деле нужно написать немного кода, чтобы сделать это самостоятельно –