#codeigniter #codeigniter-4
#codeigniter #codeigniter-4
Вопрос:
Довольно новичок в codeigniter, и я просто не могу найти правильный способ загрузки массива в представление.
например, допустим, у меня есть массив, подобный
$data = [
'title' => 'my title,
'desc' => 'my desc,
];
я могу передать это своему представлению следующим образом
return view('myview',$data);
затем просто повторите его, на мой взгляд, как
<h1><?= $title ?></h1>
<p><?= $desc ?></p>
Это работает нормально. но теперь допустим, у меня есть другой массив, например :
$moredata =[
'more_data' => 'some more data',
'even_more_data' => 'even more data',
];
если я попытаюсь добавить это в свой массив данных, например
$data[] = $moredata
когда я пытаюсь получить доступ к ‘more_data’ или ‘even_more_data’, на мой взгляд, как
<?= $more_data ?>
я получаю ошибку неопределенной переменной для $moredata. Итак, как мне получить доступ к переменным в этом новом массиве? правильно ли я их объявляю?
также, если бы я хотел перебрать вторичный массив, как мне это сделать. попытка
<?php foreach($moredata as $items){ ?>
<li><?php echo $items; ?></li>
<?php } ?>
также выдает ошибку неопределенной переменной для $moredata
любая помощь о том, как сделать это правильно в codeigniter 4, приветствуется.
Ответ №1:
Codeigniter использует ключ массива, который вы ему даете, для создания имен переменных.
Вы должны инициализировать его таким образом :
$moredata =[
'more_data' => 'some more data',
'even_more_data' => 'even more data',
];
// key of your array will be a variable name in your view
$data['my_var_name_in_view'] = $moredata
return view('myview',$data);
Тогда, по вашему мнению, вы сможете выполнить это :
<?php foreach($my_var_name_in_view as $items){ ?>
<li><?php echo $items; ?></li>
<?php } ?>