从加载第二个视图[codeigniter]的控制器传递数据



我有一个关于使用$data从控制器传递信息到视图的问题。

例如,我使用下面的格式来填充一个select

$data['array_name'] = model_name->model_method();
$this->load->view('main_view',$data);

一切都好,然后我使用Ajax加载信息的选择更改:

  1. 信息从视图发送到控制器
  2. 控制器加载一个模型并从中获取一组信息
  3. 我使用foreach来存储数据['name']中的每条记录
  4. 我加载了第二个视图,它只包含以下代码

ajax_function ()

$data['name'] = contacts_model->get_contacts($post_value);
$this->load->view('contacts',$data);
<<p> 第二视图/strong>
<?php
foreach ($name as $n)
  {
    echo $n;
  } 
?>

,我得到这个错误消息,我检查数组是否为空,但不是....消息:为foreach()提供了无效参数

我猜这是因为以前我使用$data加载信息在主视图

在使用$name作为foreach的最佳实践检查它是否是数组之前,你可以使用is_array(),

if(is_array($name)) {
    foreach ($name as $n) {
     echo $n;
    }     
}