"Ошибка преобразования массива в строку в файле Laravel blade

"Ошибка преобразования массива в строку в файле Laravel blade

08.06.2016 05:45:56 Просмотров 36 Источник

И есть $array_variable, как это в моем контроллере laravel:

{"11161":{"total":1,"1":1,"2":0,"3":0,"4":0},"11160":{"total":1,"1":1,"2":0,"3":0,"4":0},"11159":{"total":5,"1":5,"2":0,"3":0,"4":0},"11158":{"total":1,"1":1,"2":0,"3":0,"4":0},"11157":{"total":2,"1":2,"2":0,"3":0,"4":0},"11156":{"total":2,"1":2,"2":0,"3":0,"4":0},"11155":{"total":1,"1":1,"2":0,"3":0,"4":0},"11154":{"total":2,"1":2,"2":0,"3":0,"4":0},"11153":{"total":1,"1":1,"2":0,"3":0,"4":0},"11152":{"total":2,"1":2,"2":0,"3":0,"4":0},"11151":{"total":2,"1":2,"2":0,"3":0,"4":0},"11137":{"total":2,"1":2,"2":0,"3":0,"4":0},"11150":{"total":2,"1":2,"2":0,"3":0,"4":0},"11136":{"total":2,"1":2,"2":0,"3":0,"4":0},"11135":{"total":1,"1":1,"2":0,"3":0,"4":0},"11132":{"total":2,"1":2,"2":0,"3":0,"4":0},"11134":{"total":2,"1":2,"2":0,"3":0,"4":0},"11133":{"total":2,"1":2,"2":0,"3":0,"4":0},"11121":{"total":2,"1":2,"2":0,"3":0,"4":0},"11120":{"total":1,"1":1,"2":0,"3":0,"4":0},"11119":{"total":1,"1":0,"2":1,"3":0,"4":0}}

Когда я открыть его в лезвие файл через {{ $array_variable[$id] }} золото {{ $array_variable }}, он дает эту ошибку:

ErrorException
Array to string conversion

Как я могу получить доступ к элементам массива без ошибок?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/37692408/array-to-string-conversion-error-in-laravel-blade-file#comment62861082_37692408
Зависит от того, какую операцию вы пытаетесь выполнить над массивом (назначение, печать и т. д.). Вы можете поделиться линией доступа?
https://stackoverflow.com/questions/37692408/array-to-string-conversion-error-in-laravel-blade-file#comment62862347_37692408
Линии доступа с учетом: {{ $array_variable [идентификатор] }} и {{ $array_variable }}.

Ответы - "Ошибка преобразования массива в строку в файле Laravel blade / "Array to String Conversion Error" in laravel blade file

Rahul M

08.06.2016 05:55:23

Он выглядит не как массив, а как объект json.. в любом случае вы не можете повторить это. То, что вы можете сделать, это: json_decode () it, а затем цикл for / each над ним, чтобы повторить элементы.

https://stackoverflow.com/questions/37692408/array-to-string-conversion-error-in-laravel-blade-file/37692480#comment62862454_37692480
Это не json. Он инициируется с помощью $array_variable = array (); строка в контроллере, затем $array_variable ["total"] = 0; строка выполняется, например.
https://stackoverflow.com/questions/37692408/array-to-string-conversion-error-in-laravel-blade-file/37692480#comment62862591_37692480
Поправка: это не json. Он инициируется с помощью $array_variable = array (); line, я инициировал временный массив во-вторых. После заполнения временного массива $array_variable[id] = temp_array; строка выполняется, например.
Filip Koblański

08.06.2016 08:51:05

Когда вы получаете $array_variable[$id]он дает вам подзапрос:

"total" => [(...)]

а это не строка. Так вот почему вы получаете эту ошибку. The {{ (...) }}оператор предназначен для Эхо-данных, и при попытке Эхо-массива вы получаете эту ошибку. Вы можете попробовать что-то вроде этого:

{{ 'total: ' . implode(', ', $array_variable[$id]['total']) }}
emrhzc

08.06.2016 11:13:07

используйте var_dump для печати массивов

var_dump($array_variable[$id]);
https://stackoverflow.com/questions/37692408/array-to-string-conversion-error-in-laravel-blade-file/37696832#comment104944199_37696832
Можете ли вы объяснить это дальше? Как сброс массива решает данный вопрос?
Закрыть X