检测存在多少阵列


Detect how many array exist?

我使用的是CodeIgniter框架。我正在向视图发送一个数组,但无法在视图中获取该数组。

这是我的控制器代码:

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>';
?>

现在我知道我正在向我的视图发送一个数组,但我想知道我的视图中是否有数组。我可以通过另一种方法获得记录,但我认为这不是一个好的做法。所以有人可以帮助我如何检测我的视图中是否有数组?

在控制器中,发送一个父数组:

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
}

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变量名规则禁止使用数字变量名,因此您无法访问数据。