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

Здравствуйте.
Пытаюсь запустить простой цикл в контроллере для поиска и замены части строки.
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.

В чем может быть дело?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 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
Похожие вопросы