如何通过Codeigniter中的函数访问阵列计算机


How to access array computer by a function within Codeigniter?

我有一个函数如下:

function get_employee_information() 
{
$this->db
        ->select('id, name');
$query = $this->db->get('sales_people');
$employee_names = array();
$employee_ids = array();
foreach ($query->result() as $row) {
    $employee_names[$row->id] = $row->name;
    $employee_ids[] = $row->id;
    }
}

我正试图从输出到模板中访问这些数据,如下所示:

$this->get_employee_information();    
$output = $this->template->write_view('main', 'records', array(
            'employee_names' => $employee_names,
            'employee_ids' => $employee_ids,
            ), false);

然而,这并没有显示出什么。我觉得这是一件小事,我应该更清楚。当我在函数内的任意一个数组上tunprint_r($arrayname)时,我会得到可疑的数组值。当我在函数的外部打印_r时,它什么也不返回。

您的函数没有返回任何内容。添加如下所示的退货。

function get_employee_information() 
{
    $this->db->select('id, name');
    $query = $this->db->get('sales_people');
    $employee_names = array();
    $employee_ids = array();
    foreach ($query->result() as $row) {
        $employee_names[$row->id] = $row->name;
        $employee_ids[] = $row->id;
     }
    return array(
        'employee_names'=>$employee_names, 
        'employee_ids'=>$employee_ids,
     ); 
}

您没有将函数的return值设置为变量

$employee_info = $this->get_employee_information();    
$output = 
    $this->template->write_view(
        'main', 'records', 
        array(
            'employee_names' => $employee_info['employee_names'],
            'employee_ids' => $employee_info['employee_ids'],
         ), 
         false
     );