- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков

В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую.
Код
Ситуация: при вызове рекурсивной функции и выводе данных в функцие через оперетор "echo" всё прекрасно работает. Но если я хочу все данные положить в переменную и после завершения функции вернуть значение через return, то данные из части кода
не попадают в переменную
не попадают в переменную
Не понял, зачем передавать во внутреннюю рекурсию $tree,, её тебе нужно только встречать. Попробуй в рекурсивном вызове вместо
написать
а в начале функции поставь на всякий случай $tree = "";
Если не разберешься с переменными, то есть ещё один способ (будет работать 100%, но метод тормозной и кривой :)). Можно перед вызовом функции сделать кэширование вывода (для поиска ключевое слово ob_start), после функции забрать весь буфер в переменную и очистить кэш.
Kpd, попадает в вечный цикл если сделать замену
почему все данные сохраняются, кроме тех которые во втором запросе в функции?
Kpd, попадает в вечный цикл если сделать замену
Это не может влиять на зацикливание, что-то ещё изменил.
почему все данные сохраняются, кроме тех которые во втором запросе в функции?
Потому что криво работаешь в переменными.
Я не понимаю какую роль у тебя играют параметры, передаваемые в функцию. Там достаточно только одной переменной - ID родительского раздела.
попробуйте сделать переменную ссылочной - &$tree, а от return совсем оказаться.
это хороший способ - будет работать.
это хороший способ - будет работать.
Это хороший способ если делать по типу "лишь бы работало", однако желательно именно разобраться как оно работало бы, что не работает, почему не работает...
(не окуратный код одна из главных причин дыр в безопасности)
попробуйте сделать переменную ссылочной - &$tree, а от return совсем оказаться.
это хороший способ - будет работать.
Аналогично будет работать объявление $tree глобальной переменной (и по сути это аналогично передаче по ссылке), но тоже некрасивый способ.
Это хороший способ если делать по типу "лишь бы работало", однако желательно именно разобраться как оно работало бы, что не работает, почему не работает...
(не окуратный код одна из главных причин дыр в безопасности)
не то пишите -
1. у вас рекурсивный вызов не присваивает ничего ни какой переменной, а сама функия возврашает значение.
2. я вам дал совет, а использовать его или нет - дело ваше.
3. неаккуратный код и мой совет никак не соприкасаются, так что и безопасность тут не причем.
4. если эта функция совсем кривая - лучше напишите свою.
я не разбирался в тонкостях этой проги, я дал лишь совет как иногда полезно обойти трудности с возвратом функции при рекурсии. Или вы хотите, что-бы вам ее написали?
Это не может влиять на зацикливание, что-то ещё изменил.
Потому что криво работаешь в переменными.
Я не понимаю какую роль у тебя играют параметры, передаваемые в функцию. Там достаточно только одной переменной - ID родительского раздела.
Написал, что я кривой - так напиши плиз ещё и где. А про лишние переменные, так они работают, а в рамках этого форума я их исключил из кода.
Всё вышепредложенное не работает (((((((((((((((
Написал, что я кривой - так напиши плиз ещё и где.
Ещё раз
Ты возвращаешь из рекурсии какое-то накопленное значение (вернее хочешь вернуть), но не делаешь его сохранение в точке вызова
Поставь здесь присваивание и всё.
щас выглядит вот так и не работает