Определить, сколько существует массив?

Я использую CodeIgniter Framework. Я отправляю массив в мое представление, но я не могу получить массив в моем представлении.

Это мой код контроллера:

public function edit($id)
{
$record = $this->Start_model->get_entry($id);//receiving array from model
$this->load->view('edit',$record);//send array to my view
}

Это мой массив на контроллере, который я отправляю:

Array
(
[0] => Array
( [id] => 1 [name] => Hamza [age] => 20 [address] => audit and account [phone] => 03000000000  )
)

Но когда я вызываю это представление массива, я получаю эту ошибку:

Неопределенная переменная: запись

Вот как я получаю мой массив в поле зрения:

<?php
echo '<pre>';
print_r($record);
echo '</pre>';
?>

Теперь я знаю, что отправляю массив на мой взгляд, но Я хочу знать, есть ли массив на мой взгляд или нет. Я могу получить запись с помощью другого метода, но я думаю, что это не очень хорошая практика. Кто-нибудь может мне помочь, как я могу определить, есть ли массив в моем представлении?

1

Решение

Codeigniter извлекает массив, переданный в представление, создавая переменные на основе ключей массива. Чтобы работать как хочешь, передай массив с ключом или record и значение вашего массива:

public function edit($id)
{
$data = array('record' => $this->Start_model->get_entry($id));
$this->load->view('edit',$data);//send array to my view
}

Тогда это будет работать на ваш взгляд:

<?php
echo '<pre>';
print_r($record);
echo '</pre>';
?>

Как вы сейчас отправляете данные, они будут извлечены в отдельные переменные для каждого элемента в массиве, однако, так как ваш массив численно проиндексирован, а правила имен переменных php запрещают числовые имена переменных, вы не можете получить доступ к данным.

2

Другие решения

В вашем контроллере вместо этого отправьте родительский массив:

public function edit($id)
{
$data = array();
$data['record'] = $this->Start_model->get_entry($id); // provided this is not empty
$this->load->view('edit', $data);
}

Тогда по вашему мнению:

foreach($record[0] as $key => $value) {
echo $value['id'];
// the rest blah blah
}
3

По вопросам рекламы [email protected]