Почему не работает цикл?

Здравствуйте.
Пытаюсь запустить простой цикл в контроллере для поиска и замены части строки.
for ($i=0; $i=count($url_arts); $i++) {
         $replace = str_replace($urls[0]->url_art_wp,$urls[0]->url,$url_arts[$i]->article);
   }
   dd($replace);

Но каждый раз получаю "Maximum execution time of 30 seconds exceeded", даже если число итераций сделать равным 1.

В чем может быть дело?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@Arik
$i = count($url_arts);

тут < или <= , но никак не =

По коду получается вы переменной $i присваиваете результат count($url_arts), что дает тот же результат условию. Выходит если кол-во 0, то будет false, если больше нуля - true, и никакое кол-во итераций не изменит эту ситуацию, на что и получаете бесконечный цикл
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
daager
@daager
Бесконечный цикл. У вас нет условия, при котором цикл прекратит работу.
Ответ написан
Basitkhan
@Basitkhan
full-stack developer, ux/ui designer
У вас цикл не правильно построен
for ($i=0; $i<=count($url_arts); $i++){
      $replace = str_replace($urls[0]->url_art_wp,$urls[0]->url,$url_arts[$i]->article);
}
dd($replace);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 50 000 до 80 000 руб.
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.