Как использовать динамический индекс массива для оператора for и if, потому что я получил неопределенное смещение: 1 в лезвии laravel - PullRequest
0 голосов
/ 05 октября 2018

Я новичок в laravel, у меня возникла ситуация, когда я хочу получить доступ к массиву с помощью переменной, я получил неопределенное смещение: 1 ошибка.

как использовать индекс в выражении for и if?

Вот мой код.

@for($i = 0; $i< count($type['layout']); $i++)
   @if($type['layout']['col'] == 1)
      @if($type['layout']['properties'][$i]['type'] == "text")
         text input
      @else if($type['layout']['properties'][0]['type'] == "radio")
         radio btn
      @endif
   @endif
@endfor

Формат массива здесь

array:1 [▼
   "layout" => array:2 [▼
   "col" => "1"
   "properties" => array:1 [▼
        0 => array:3 [▼
           "type" => "text"
           "label" => "username"
           "text" => "Enter your username"
         ]
      ]
   ]
]

Вот изображение ошибки

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Вы пропустили ключ цикла.Измените это на:

$type['layout'][$i]['col'] == 1

Вы пропустили петлевой ключ в этой строке: @if($type['layout']['col'] == 1)

enter image description here

0 голосов
/ 05 октября 2018

Учитывая пример данных, вам не нужен цикл?Вы также должны иметь возможность выравнивать первый массив в свойствах.Рассмотрим пример: web.php

Route::get('/', function () {
    return view('welcome')->with('type', [
        "layout" => [
            "col" => 1,
            "properties" => [
                    "type" => "text",
                    "label" => "Label",
                    "text" => "Username"
            ]
        ]
    ]);
});

welcome.blade.php

@if($type['layout']['col'] == 1)
    @if($type['layout']['properties']['type'] == "text")
        text input
    @else if($type['layout']['properties']['type'] == "radio")
        radio btn
    @endif
@endif

Дайте мне знать, если это вам поможет или я что-то неправильно понял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...