【问题标题】:Pass multiple Arrays to view in code igniter传递多个数组以在 codeigniter 中查看
【发布时间】: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 吗?

标签: php arrays codeigniter


【解决方案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 将不起作用
      猜你喜欢
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多