Articles of Рекурсия

Рекурсивная функция PHP не возвращает значение

Я что-то упускаю? При попытке реализовать алгоритм я не могу получить возвращаемое значение для функции. Первоначально, пытаясь вернуть массив, с которым я столкнулся, простые типы не будут работать. ПРИМЕЧАНИЕ. Это упрощенная версия, чтобы проиллюстрировать эту точку. Я знаю, что для иллюстрированного кода можно использовать нечто вроде print_r (array_map (function ($ x) {return $ x + […]

Преобразование ключей массива из underscore_case в camelCase рекурсивно

Мне пришлось придумать способ преобразования ключей массива с помощью undescores (underscore_case) в camelCase. Это нужно было сделать рекурсивно, так как я не знал, какие массивы будут переданы методу. Я придумал это: private function convertKeysToCamelCase($apiResponseArray) { $arr = []; foreach ($apiResponseArray as $key => $value) { if (preg_match('/_/', $key)) { preg_match('/[^_]*/', $key, $m); preg_match('/(_)([a-zA-Z]*)/', $key, $v); […]

Как я могу рекурсивно включать все файлы с определенным именем в папку с помощью PHP?

Предположим, у меня есть папка с именем parent Там есть много подпапок, таких как child1 , child2 и т. Д. В некоторых из этих «дочерних» папок есть файл в имени module.php . Как я могу рекурсивно проверять все подпапки parent папки и включать все файлы с именем module.php в мое приложение? Я попробовал ниже и […]

Рекурсивно требуя всех файлов

Я пытаюсь рекурсивно добавлять все файлы в свой проект, для этого я использовал эту функцию: <?php function RequireFiles() { $directory = new RecursiveDirectoryIterator(abspath . "lib/"); $recIterator = new RecursiveIteratorIterator($directory); foreach ($recIterator as $item) { print $item->getPathname() . "<br />"; //include $item->getPathname(); } } ?> взятые отсюда с незначительными изменениями . Моя проблема заключается в том, […]

как перечислить переменную массива, созданную с помощью рекурсивной функции в Smarty

У меня есть массив, который я создал в php с рекурсивной функцией, я не знаю, сколько измерений, как я могу использовать в Smarty? Я пытаюсь использовать этот код: {foreach $myArr as $items} <li> {$items.title} {if $item.submenu} <ul> {foreach $items.submenu as $items2} <li>{$items2.title}</li> {/foreach} </ul> {/if} </li> {/foreach} Но этот код предназначен только для двух уровней, […]

PHP рекурсивно пересекает дерево объектов

У меня есть объект $ branch, который может содержать другие объекты $ branch: $branch->children(); У каждого из них могут быть $ яблоки в качестве детей. $branch->apples(); Как я могу собрать все $ яблоки из $ ветви рекурсивно? function collectApples($branch){ $apples = array(); ? return $apples; }

Каков самый простой способ получить соотношение в PHP нескольких чисел?

Я адаптировал это из примера, который я нашел в сети … function ratio($a, $b) { $_a = $a; $_b = $b; while ($_b != 0) { $remainder = $_a % $_b; $_a = $_b; $_b = $remainder; } $gcd = abs($_a); return ($a / $gcd) . ':' . ($b / $gcd); } echo ratio(9, 3); […]

Как получить текущий уровень рекурсии в функции PHP

Как получить текущий уровень рекурсии в функции PHP? Я имею в виду, есть ли какая-нибудь «магическая» (или, в конечном итоге, нормальная) функция: function doSomething($things) { if (is_array($things)) { foreach ($things as $thing) { doSomething($thing); } } else { // This is what I want : echo current_recursion_level(); } } Я знаю, что могу использовать другой […]

Справка по рекурсии PHP, необходимая для создания древовидной структуры

Вот структура таблицы, которую я имею: CREATE TABLE menu ( menuid int(11) NOT NULL AUTO_INCREMENT, menuname varchar(100) NOT NULL DEFAULT '', menulink varchar(100) NOT NULL DEFAULT '', menuparentId int(11) NOT NULL DEFAULT '0', menuhasChild smallint(1) NOT NULL DEFAULT '0', menustatus smallint(1) NOT NULL DEFAULT '1', menuorder int(11) NOT NULL DEFAULT '0', PRIMARY KEY (menuid) ) […]

Можно ли ускорить сканирование рекурсивного файла в PHP?

Я пытался копировать Gnu Find («find.») В PHP, но, похоже, невозможно приблизиться к его скорости. В реализациях PHP используется как минимум в два раза больше времени поиска. Существуют ли более быстрые способы сделать это с помощью PHP? EDIT: я добавил пример кода, используя реализацию SPL – его производительность равна итерационному подходу EDIT2: При вызове find […]

Intereting Posts
Как установить фильтры и валидаторы в полях ZF2 с помощью Zend \ Form \ Factory? Сброс логических карт MySQL Множество языков Google Как скрыть имя контроллера в URL-адресе CodeIgniter? Как подсчитать красноречие отношения без проблемы N + 1 и загрузить всю модель? Можно ли запустить функцию в переменной шаблона Silverstripe для форматирования вывода? Неустранимая ошибка: уровень вложенности слишком глубокий – рекурсивная зависимость? Как создать разбиение на страницы в Codeiginter? PHP_SELF vs PATH_INFO против SCRIPT_NAME и REQUEST_URI Как получить пользовательские параметры программно в Magento Mysql + php, как сделать ссылку, которая отображает все данные из записи, когда вы нажимаете «заголовок», MySQL: сохранить часовой пояс сервера или часовой пояс пользователя? Значение массива доступа php от возврата функции JQuery Expand Table – добавление дополнительных столбцов Как использовать кеш в CakePHP?