Объединить 3 одномерных массива в 1 многомерный
Есть 3 одномерных массива
Array
(
[2] => World
[3] => World
[4] => United States
[17] => United States
[23] => United States
[28] => United States
)
Array
(
[2] => Short Football 4x4
[3] => Short Football 4x4
[4] => National Collegiate Athletic Association (NCAA)
[17] => National Collegiate Athletic Association (NCAA)
[23] => National Collegiate Athletic Association (NCAA). Women
[28] => National Collegiate Athletic Association (NCAA)
)
Array
(
[2] => 334595637
[3] => 334596291
[4] => 334590962
[17] => 334591241
[23] => 334591994
[28] => 334591016
)
В первом страны, во втором лиги, в третьем матчи. Ключ у всех совпадает, то есть, матч "334595637", например, принадлежит лиге "Short Football 4x4", а та соответственно стране "World".
Требуется объединить данные массивы в 1, чтобы вышло вроде этого:
Array
(
[United States] => Array
(
[National Collegiate Athletic Association (NCAA)] Array
(
[0] => 334590962
[1] => 334591241
)
[National Collegiate Athletic Association (NCAA). Women] Array
(
[0] => 334591994
)
)
[World] => Array
(
[Short Football 4x4] Array
(
[0] => 334595637
[1] => 334596291
)
)
)
Страна одна, в ней может быть несколько лиг, в каждой из которой может быть несколько матчей.
Пока удалось объединить только страны-лиги, лиги-матчи:
$country_league = array();
foreach($country as $k => $v){
$country_league[$v][]=$leagues[$k];
}
$league_match = array();
foreach($leagues as $k => $v){
$league_match[$v][]=$matches_array[$k];
}
Надеюсь на вашу помощь!
Ответы (1 шт):
Автор решения: KordDEM
→ Ссылка
$country = array
(
2 => "World",
3 => "World",
4 => "United States",
5 => "United States",
6 => "United States",
7 => "United States"
);
$leagues = array
(
2 => "Short Football 4x4",
3 => "Short Football 4x4",
4 => "National Collegiate Athletic Association (NCAA)",
5 => "National Collegiate Athletic Association (NCAA)",
6 => "National Collegiate Athletic Association (NCAA). Women",
7 => "National Collegiate Athletic Association (NCAA)"
);
$matches = array
(
2 => 334595,
3 => 334596291,
4 => 334590962,
5 => 334591241,
6 => 334591994,
7 => 334591016
);
Сначала объединяем лиги-матчи
$league_match = array();
foreach($matches as $k => $v){
$league_match[$leagues[$k]][]=$v;
}
Потом добавляем лиги в страны:
$country_league = array();
foreach($leagues as $k => $v){
$country_league[$country[$k]][$v]=$league_match[$v];
}