Преобразование многомерного массива в одномерный на PHP
Как гласит японская мудрость: "Даже если меч понадобится один раз в жизни, носить его нужно всегда". Следующий трюк как раз из этой серии. А именно, преобразование многомерного массива в одномерный.Делается все при помощи стандартного класса RecursiveIteratorIterator, который берет на себя извлечение данных из многомерного массива, и функции iterator_to_array, которая преобразует эти данные в одномерный массив. Код будет выглядеть следующим образом:
Code (PHP) : Убрать нумерацию
- // Исходный многомерный массив
- $multi_array=array(
- array('first',1,2,3),
- 'A'=>array(
- 'ZYXEL'=>array('banana','apple',7,'gnome'),
- 7=>array('a','b','c'),
- 'ROBOTIX'=>array('2400','3200','8000'),
- ),
- 'INTEL' => array(
- 0=>array(8,'AMD'),
- 1=>array(
- 'groups' => array(
- array('metallica','accept','kiss'),
- 'kurt'
- )
- )
- )
- );
- $iterator=new RecursiveIteratorIterator(new RecursiveArrayIterator($multi_array));
- $one_array=iterator_to_array($iterator, false);
- print_r($one_array);
Array
(
[0] => first
[1] => 1
[2] => 2
[3] => 3
[4] => banana
[5] => apple
[6] => 7
[7] => gnome
[8] => a
[9] => b
[10] => c
[11] => 2400
[12] => 3200
[13] => 8000
[14] => 8
[15] => AMD
[16] => metallica
[17] => accept
[18] => kiss
[19] => kurt
)
На моей многолетней практике такая задача возникала всего один раз. Если вам когда-нибудь пригодится мое решение, то буду только рад.
Просмотров: 1176 | Комментариев: 0
Метки: PHP
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Комментариeв нет
Добавить комментарий
Заполните форму для добавления комментария