Articles of Рекурсия

Дерево эхо-меню с рекурсивной функцией

Проблема: я не могу придумать, как сделать функцию рекурсии для моей конкретной ситуации. Ситуация: Mysql DB id | root | name | Где root показывает категорию ведьмы, это подкатегория. Как должен выглядеть HTML: <li><a href="#"><p class="Tier0">Datori</p></a> <ul style="display: block"> <li><a href="#"><p class="Tier1">Cookies</p></a></li> <li><a href="#"><p class="Tier1">Events</p></a></li> <li><a href="#"><p class="Tier1">Forms</p></a></li> <li><a href="#"><p class="Tier1">Games</p></a></li> <li><a href="#"><p class="Tier1">Images</p></a> <ul> […]

Получить сумму из дерева узлов

Я изучаю php. У меня есть эта структура company 1 – $10| all $50 -company 1.1 – $10| all $20 –company 1.1.1 – 10$| all $10 -company 1.2 – $20| all $20 каждая компания может иметь несколько дочерних компаний и может иметь только одного родителя. У каждой компании есть деньги. Все компании имеют Allmoney – […]

рекурсивная функция для получения всех дочерних категорий

Вот что я пытаюсь сделать: – Мне нужна функция, которая при передаче в качестве аргумента ID (для категории вещей) предоставит все подкатегории и под-подкатегории и суб-суб-суб … , – Я думал использовать рекурсивную функцию, так как я не знаю, сколько подкатегорий их подкатегории и так далее, вот что я пытался сделать до сих пор function […]

Рекурсивное PHP-регулярное выражение

EDIT: я выбрал ответ ridgerunner, поскольку в нем содержится информация, необходимая для решения проблемы. Но мне также хотелось добавить полностью определенное решение к конкретному вопросу, если кто-то еще захочет полностью понять пример. Вы найдете его где-то внизу. Этот вопрос касается уточнения поведения движка regex php для рекурсивных выражений. (Если вы идете о том, как правильно […]

Меню иерархической рекурсии с PHP / MySQL

Это должно (надеюсь) быть довольно простым вопросом для некоторых из вас, чтобы ответить. У меня есть рабочее рекурсивное меню из базы данных mySQL, теперь моя главная проблема: Каков наилучший способ создания URL-адреса? Я бы предпочел принести название каждой строки, например / яйца / молоко / бекон /. Яйца составляют 0-й уровень: яйца-0, молоко-1, бекон-2. Любые […]

Как я могу рекурсивно получить «родительский идентификатор» строк в этой таблице MySQL?

Моя база данных выглядит как (pligg cms, sample data) id catID parentID catName 1 1 0 location 2 2 0 color 3 3 1 USA 4 4 3 Illinois 5 5 3 Chicago 6 6 2 Black 7 7 2 Red Скажем, как мне получить верхний идентификатор chicago, это должно быть местоположение. У меня есть […]

Разбор строки с рекурсивными круглыми скобками

Я пытаюсь проанализировать строку со следующей структурой в PHP: a,b,c(d,e,f(g),h,i(j,k)),l,m,n(o),p Например, «настоящая» строка будет: id,topic,member(name,email,group(id,name)),message(id,title,body) Мой конечный результат должен быть массивом: [ id => null, topic => null member => [ name => null, email => null, group => [ id => null, name => null ] ], message => [ id => null, title […]

Реализация рекурсивных комментариев в PHP / MySQL

Я пытаюсь написать систему комментариев, где люди могут комментировать другие комментарии, и они отображаются в виде рекурсивных потоков на странице. ( Система комментариев Reddit – пример того, чего я пытаюсь достичь), однако я смущен тем, как реализовать такую ​​систему, которая не будет очень медленной и дорогостоящей вычислительной. Я предполагаю, что каждый комментарий будет храниться в […]

Как выполнить поиск по key => значение в многомерном массиве в PHP

Есть ли какой-либо быстрый способ получить все подмассивы, где пара ключевых значений была найдена в многомерном массиве? Я не могу сказать, насколько глубоким будет массив. Простой пример массива: $arr = array(0 => array(id=>1,name=>"cat 1"), 1 => array(id=>2,name=>"cat 2"), 2 => array(id=>3,name=>"cat 1") ); Когда я ищу ключ = имя и значение = "cat 1", функция […]

рекурсивное регулярное выражение для обработки вложенных строк, заключенных в {| и |}

В проекте у меня есть текст с такими шаблонами: {| текст {| text |} text |} больше текста Я хочу получить первую часть с помощью скобок. Для этого я использую preg_match рекурсивно. Следующий код работает отлично: preg_match('/\{((?>[^\{\}]+)|(?R))*\}/x',$text,$matches); Но если я добавлю символ «|», я получил пустой результат, и я не знаю, почему: preg_match('/\{\|((?>[^\{\}]+)|(?R))*\|\}/x',$text,$matches); Я не […]