#php #arrays
#php #массивы
Вопрос:
У меня есть массив в следующей форме,
Array
(
[foo] => Array
(
[3] => hello
[1] => world
)
[bar] => Array
(
[3] => Some other stuff
[1] => Some more stuff
)
[baz] => Array
(
[3] => value
)
)
Как я мог бы получить это в следующей форме:
Array
(
[3] => Array
(
[foo] => hello
[bar] => Some other stuff
[baz] => value
)
[1] => Array
(
[foo] => world
[bar] => Some more stuff
)
)
Спасибо
Комментарии:
1. Вы пытались сделать это и не добились успеха?
2. Во втором блоке кода: в чем значение
[bar][1] => Some more stuff
?3.
[bar][1]
здесь действительно нет смысла. На самом деле, ни один из этих ключей не имеет смысла. Пожалуйста, уточните.4. Вы могли бы выполнить это примерно за три строки кода с двумя вложенными циклами foreach. Вы пробовали это сами, прежде чем просить нас сделать это за вас?
5. @Джош Дэрроу: Не забудьте принять правильный ответ. Просто поставьте галочку рядом с этим. Если вы не приобретете привычку сейчас, вы будете обречены на этом сайте.
Ответ №1:
$array; //<--- assuming this is the array you are starting with
$new_array = array(); //<--- This is the new array you're building
foreach($array as $i=>$element)
{
foreach($element as $j=>$sub_element)
{
$new_array[$j][$i] = $sub_element; //We are basically inverting the indexes
}
}