Php 编码点火器中的阵列

Php 编码点火器中的阵列,php,arrays,codeigniter,Php,Arrays,Codeigniter,这是控制器的功能: public function tableMap() { $nums = array("3","4","5","7"); foreach ($nums as $num): $data['juns'] = $this->Hosting_model->djuns($num); endforeach; $data['tables'] = $this->Hosting

这是控制器的功能:

 public function tableMap()
{
         $nums = array("3","4","5","7");
            foreach ($nums as $num):
        $data['juns'] = $this->Hosting_model->djuns($num);
            endforeach;
        $data['tables'] = $this->Hosting_model->get_tables();
        $this->load->view('templates/header');
        $this->load->view('hosting/tableMap',$data);
        $this->load->view('templates/footer');
}
这是模型函数:

公共功能djuns($num) {

}

我试图显示从以下位置返回的值数组:

$data['juns'] = $this->Hosting_model->djuns($num);
当我在视图中显示它时,我只得到最后一个进入数组的值。 我做错了什么

在我看来,这部分代码:

foreach($juns as $jun):
 echo $jun['fullname'];
endforeach;

在这里,循环覆盖最后输入的元素,因此,您只获得最后一个元素

foreach ($nums as $num):
    $data['juns'] = $this->Hosting_model->djuns($num);
endforeach;
需要您的模型代码来提供一些建议

编辑您可以尝试,它会起作用(视图中的回音会起作用)

您还可以执行以下操作

在模型中

$this->db->select('clients.fullname');
$this->db->from('tables');
$this->db->join('clients','tables.phonenumber=clients.phonenumber', 'left');
$this->db->where_in('num', $num); //change where to where_in
$query = $this->db->get();

return $query->result_array()
在控制器中,立即传递阵列

$data['juns'] = $this->Hosting_model->djuns($nums); //no foreach loop and num -> nums

这将如上所述。

您正在重新修改数组的相同值。要插入所有值,请像这样使用它

$juns = array();

foreach ($nums as $num):
  $juns[] = $this->Hosting_model->djuns($num);
endforeach;

$data['juns'] = $juns;

希望有帮助。

发布<代码>托管>模型->djuns模型代码可能会有帮助我添加了模型函数。另一个问题,在我的视图display foreach函数中,我需要在NUM中分别显示每个数字的值。我可以这样做吗?你可以单独访问这些值,
$jun[“age”]
$jun[“bday”]
像这样。有没有办法让控制器中$data['juns']中的jun成为数组,这样它就可以有他的索引或类似的枚举,这样我就可以从“4”结果中分别得到我的“3”结果,我指的是$nums=array(“3”、“4”、“5”、“7”);我理解您的问题,
$juns
是一个数组,(行数组,行是一个关联数组),如果($jun[“num”]==3)您可以在循环中执行此操作,也可以直接访问
$juns[0][“firstname”]
是的,在视图中回送将起作用,但您只能回送可打印的值,如字符串、int等,而不是数组。
$juns = array();

foreach ($nums as $num):
  $juns[] = $this->Hosting_model->djuns($num);
endforeach;

$data['juns'] = $juns;