Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет. Столкнулся с глупой проблемой.
Нужно перебрать массив с помощью цикла for.
Не нужно говорить "Используй foreach он молодец". Мне нужно перебрать массив именно с помощью for.
Я пробовал так:
@for($i = 0; $i < count($dats); $i++)
{{ $dats['$i'] }}
@endfor
Но увы получил ошибку следующего вида:
Undefined index: $i (View: /var/www/shop.com/resources/views/home.blade.php)
Самое интересное, что если запросить элемент массива, все выводит нормально.
{{ $dats['0'] }}
Объясните может ли blade вообще с этим справиться?
Не в сети
Ковычки уберите
@for($i = 0; $i < count($dats); $i++)
{{ $dats[$i] }}
@endfor
If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.
Не в сети
Ковычки уберите
@for($i = 0; $i < count($dats); $i++) {{ $dats[$i] }} @endfor
Было бы все так просто. Теперь получаем другую ошибку.
htmlentities() expects parameter 1 to be string, object given (View: /var/www/shop.com/resources/views/home.blade.php)
Не в сети
Какие я только варианты не пробовал, проблема остается прежней.
@for($i = 0, $size = count($dats); $i < $size; $i++)
{{ $dats[$i] }}
@endfor
<?php for($i = 0; $i < count($dats); $i++) : ?>
<?php echo $dats[$i]; ?>
<?php endfor; ?>
Не в сети
Не в сети
}%%%(php)
@for($i = 0; $i < count($dats); $i++)
{{ $dats[$i] }}
@endfor
%%или
%%(php)
@foreach($dats as $one)
{{ $one }}
@endforeach
%%
Мне нужен for а не foreach.
И ваш пример с for идентичен тому что я написал выше.
Соответственно это не работает и ошибки я указал.
По прежнему нуждаюсь в помощи.
Не в сети
Мне нужен for а не foreach.
И ваш пример с for идентичен тому что я написал выше.
Соответственно это не работает и ошибки я указал.
По прежнему нуждаюсь в помощи.
Не идентичен - у Вас там странная кавычка была какая-то.
А потом у Вас ошибка изменилась и она Вам все объясняет:
htmlentities() expects parameter 1 to be string, object given (View: /var/www/shop.com/resources/views/home.blade.php)
$dats[$i] - это объект, а не строка, поэтому нельзя просто так взять и "вывести" в шаблоне его
Если Вам надо вывести конкретный property объекта - укажите его {{ $dats[$i]->name }}
Можете конвертировать объект в строку любым из доступных способов, к примеру в JSON: {{ json_encode($dats[$i]) }}
Но нельзя просто "напечатать" объект
Не в сети
Fixlix пишет:Мне нужен for а не foreach.
И ваш пример с for идентичен тому что я написал выше.
Соответственно это не работает и ошибки я указал.
По прежнему нуждаюсь в помощи.Не идентичен - у Вас там странная кавычка была какая-то.
А потом у Вас ошибка изменилась и она Вам все объясняет:
htmlentities() expects parameter 1 to be string, object given (View: /var/www/shop.com/resources/views/home.blade.php)$dats[$i] - это объект, а не строка, поэтому нельзя просто так взять и "вывести" в шаблоне его
Если Вам надо вывести конкретный property объекта - укажите его {{ $dats[$i]->name }}
Можете конвертировать объект в строку любым из доступных способов, к примеру в JSON: {{ json_encode($dats[$i]) }}Но нельзя просто "напечатать" объект
Это то что я хотел. Спасибо!
Я просто до этого var_dump'ом пытался смотреть и он выдавало ошибку все равно. По этому я проблему не мог понять.
Вот рабочий вариант на помощь тем кто столкнется с этой глупой проблемой.
@for($i = 0; $i < count($dats); $i++)
{{ $dats[$i]->title }}<br />
@endfor
Не в сети
Страницы 1