Articles of Итератор

Запись сериализованных значений многомерного массива в файл с помощью ключевого пути

Мой вопрос в том, как я могу успешно сканировать все уровни этих сериализованных данных и записывать каждый уровень листа для разделения строк в файле, где каждая строка содержит массив «путь ключа» и значение. В принципе, мне нужно каждое значение, завернутое в функцию i18n для целей перевода. У меня есть некоторые сериализованные данные в базе данных […]

Как использовать рекурсивный итератор массива для обработки многомерного массива?

Я пытаюсь получить что-то вроде этого: function posts_formatter (&$posts){ foreach ($posts as $k => $v){ if (is_array($v)){ posts_formatter($v); }else{ switch (strtolower($k)){ # make email addresses lowercase case (strpos($k, 'email') !== FALSE): $posts[$k] = strtolower($v); break; # make postcodes uppercase case (strpos($k, 'postcode') !== FALSE): $posts[$k] = strtoupper($v); break; # capitalize certain things case (strpos($k, 'line1') […]

найти значение в многомерном массиве и получить его путь в PHP

Это мой массив: $array = array ( '1' => array( 'title' => 'Level1', 'nodes' => array( '11' => array('title' => 'sub1_company1'), '12' => array('title' => 'sub2_company1'), '13' => array( 'title' => 'sub3_company1', 'nodes' => array( '131' => array('title' => 'item1_sub3_company1'), '132' => array('title' => 'item2_sub3_company1'), ), ), ), ), '2' => array( 'title' => 'Level2', […]

Многомерный список каталогов с рекурсивным итератором

Я пытаюсь получить многомерный массив для каталогов, отформатированных следующим образом: [ { "text": "another_folder", "href": "gui\/default\/uploads\/another_folder", "depth": 0 }, { "text": "subfold", "href": "gui\/default\/uploads\/subfold", "depth": 0, "nodes": { "text": "sub-subfold", "href": "gui\/default\/uploads\/subfold\/sub-subfold", "depth": 1, } } ] Я хочу использовать RecursiveIterators. Что я сделал до сих пор, я получаю все каталоги, перечисленные в указанном пути. […]

Возможно ли перемотать результат PDO?

Я пытаюсь написать итератор для результатов из инструкции PDO, но я не могу найти способ перемотки в первую строку. Я хотел бы избежать накладных расходов на вызов fetchAll и сохранение всех данных результата. // first loop works fine foreach($statement as $result) { // do something with result } // but subsequent loops don't foreach($statement as […]