#php #arrays
Вопрос:
Мне нужно просмотреть массив, в котором есть два массива внутри, и в каждом из них указаны идентификационные номера пользователей и суммы денег, которые каждый должен.
Моя проблема в том, что мне нужно перебирать каждый элемент, как если бы он был одним, и генерировать новый массив.
Вот массив:
array(2) {
[1]=>
array {
[1]=>
array {
["u"]=> string(1) "1"
["pagoTotal"]=> string(6) "241.01"
}
[2]=>
array {
["u"]=> string(1) "2"
["pagoTotal"]=> string(6) "110.02"
}
[3]=>
array {
["u"]=> string(1) "3"
["pagoTotal"]=> string(6) "385.03"
}
[4]=>
array {
["u"]=> string(1) "4"
["pagoTotal"]=> string(6) "962.04"
}
[5]=>
array {
["u"]=> string(1) "5"
["pagoTotal"]=> string(6) "568.05"
}
[6]=>
array {
["u"]=> string(1) "6"
["pagoTotal"]=> string(6) "664.06"
}
[7]=>
array {
["u"]=> string(1) "7"
["pagoTotal"]=> string(6) "525.07"
}
[8]=>
array {
["u"]=> string(1) "8"
["pagoTotal"]=> string(6) "699.08"
}
}
[2]=>
array {
[9]=>
array {
["u"]=> string(1) "9"
["pagoTotal"]=> string(5) "50.09"
}
}
}
Поэтому в основном мне нужно зацикливаться, как если бы они были 9 элементами вместо 8 1 в двух массивах.
Я попробовал каждый из основного массива, чтобы поместить все в один массив, как это:
foreach ($unidades as $k => $v) {
$a[$k]['u'] = $v['u'];
$a[$k]['pagoTotal'] = $v['pagoTotal'];
}
Но, конечно, он будет проходить через два элемента.
Комментарии:
1. Что еще вы пробовали? Всегда ли эта структура одна и та же?
Ответ №1:
Если все, что вы хотите сделать, это просмотреть каждую запись в каждом из двух массивов:
$newArr = []; // If you want to create a new array
foreach( $unidades as $arr ) { // Each of the two outer arrays
foreach ( $arr as $info ) { // Each of the info arrays
echo 'Got ' . $info['u'] . ', ' . $info['pagoTotal'] . "n";
// If you want to create a new array:
$newArr[] = $info;
}
}