Наткнулся в интернете на интересный пост, описывающий использование SPL
Текст маленький, но уж сильно понравилась реализация.
Далее перевод (если его можно так назвать) + немного отсебятины
Когда у нас в программе появляется многоуровневый массив, то для того чтобы эффективно его обработать необходимо написать кучу рекурсивных функций или писать огромное количество циклов foreach, while или for (как кто привык)
Самый простой метод получения пар (ключ, значение) для таких массивов это использование возможностей библиотеки SPL, а именно итераторов RecursiveArrayIterator и RecursiveIteratorIterator
Вывод этого коротенького примера следующий:
Текст маленький, но уж сильно понравилась реализация.
Далее перевод (если его можно так назвать) + немного отсебятины
Когда у нас в программе появляется многоуровневый массив, то для того чтобы эффективно его обработать необходимо написать кучу рекурсивных функций или писать огромное количество циклов foreach, while или for (как кто привык)
Самый простой метод получения пар (ключ, значение) для таких массивов это использование возможностей библиотеки SPL, а именно итераторов RecursiveArrayIterator и RecursiveIteratorIterator
$array_multi = array(
«myKey» => «myValue»,
«myKey2»=> array(
«myKey2Array» => «value2Array»,
«myKey3Array» => «value3Array»,
«myKey4Array» => «value4Array»,
«myKey5Array» => array(«test», «tata», «france»)));
$array_iterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator($array_multi));
foreach($array_iterator as $key=>$value)
echo $key.' — '.$value."\n";
Вывод этого коротенького примера следующий:
myKey — myValue
myKey2Array — value2Array
myKey3Array — value3Array
myKey4Array — value4Array
0 — test
1 — tata
2 — france