传递多个数组以在 codeigniter 中查看

Posted

技术标签:

【中文标题】传递多个数组以在 codeigniter 中查看【英文标题】:Pass multiple Arrays to view in code igniter 【发布时间】:2016-07-27 18:31:32 【问题描述】:

我的模型是this,,,两个函数view和spl

 function view()

            $result = $this -> db -> get('tb_ourcity');
        return $result->result_array();

        //$query = $this->db->query('SELECT * from `adds`');
        //return $query->result_array();
    


 function spl()

            $result2 = $this -> db -> get('td_spei');
        return $result2->result_array();

        //$query = $this->db->query('SELECT * from `adds`');
        //return $query->result_array();

我的控制器看起来像这样

    public function index()

    $data['result']=$this->load_city->view();
    $data2['result']=$this->load_city->spl();
    $this->load->view('home_view',$data);

我有两个名为 $data 和 $data2..的数组。

我想在 home_view 中同时使用这两个数组。那么如何在单个视图中传递这两个数组

【问题讨论】:

我们不能使用:$data['result']=$this->load_city->view();$data['result2']=$this->load_city->spl(); 吗? 您无法在模板中同时获取 $result 和 $result2 吗? 【参考方案1】:

现在你传入你的视图$result 只包含$this->load_city->spl(); 的数据

public function index() 

   $data['result']=$this->load_city->view();
   $data2['result']=$this->load_city->spl();
   $this->load->view('home_view',$data);

你可以传递两个变量,比如

METHOD 1相同的变量名更改键

public function index() 

   $data['data1']=$this->load_city->view();
   $data['data2']=$this->load_city->spl();
   $this->load->view('home_view',$data);

方法 2 合并你的数组

public function index() 

   $data['data1']=$this->load_city->view();
   $data2['data2']=$this->load_city->spl();
   $new_array = array_merge($data,$data2);
   $this->load->view('home_view',$new_array );

如果你想制作快捷方式,只需在方法中直接添加

$this->load->view('home_view',array_merge($data, $data2));

【讨论】:

【参考方案2】:

在你的模型中试试这个

 public function index()

    $data['result1']=$this->load_city->view();
    $data['result2']=$this->load_city->spl();
    $this->load->view('home_view',$data);

您可以将这两个数组作为 $result1 和 $result2 来查看

【讨论】:

您能否展示第二部分,我的意思是如何在视图的一个部分中只使用“result1”? 'result1' 和 'result2' 键名将用作视图文件中的变量名,不是吗? @GS-Magento【参考方案3】:
public function index()

    $data['result1']=$this->load_city->view();
    $data['result2']=$this->load_city->spl();
    $this->load->view('home_view',$data);

home_view 中,您可以将结果称为$result1$result2

【讨论】:

如果result1和result2的内部是另一个数组,这可能吗?无论如何如何使用 home_view 中的变量?【参考方案4】:
$data['result']=$this->load_city->view();
$data['result2']=$this->load_city->spl();

尝试这种方式,您只会在其中传递 $data。

【讨论】:

【参考方案5】:

这里可以使用array_combine()array_merge()组合两个数组

<?php 
public function index()

    $arr1 = $this->load_city->view();
    $arr2 = $this->load_city->spl();
    $this->load->view('home_view',array_combine($arr1, $arr2));

?>

【讨论】:

如果两个数组确实有不同数量的元素,array_combine 将不起作用

以上是关于传递多个数组以在 codeigniter 中查看的主要内容,如果未能解决你的问题,请参考以下文章

如何传递数据以在 Laravel 中查看?

如何使用 JQuery 将 HTML 表单字段作为数组直接传递到 CodeIgniter 中的数据库

使用 codeigniter 在 URL 中传递多个变量

在codeigniter中将数组从控制器传递到模型

将数组从控制器传递到 codeigniter 中的模型

传递数组或序列以在 idl Java Corba 中运行