2013-07-16 107 views
0

我有一个函数如下:如何通过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); 

然而,这并不显示任何内容。我觉得这是一件小事,我应该更清楚。当我在任何数组的内部调用print_r($ arrayname)时,我得到可疑的数组值。当我print_r在函数的外部时,它什么都不返回。

+0

你的函数没有返回任何东西..添加'返回数组( 'employee_names'=> $ employee_names, 'employee_ids' => $ employee_ids);'在你的功能结束时。 – user20232359723568423357842364

回答

0

你的函数没有返回任何东西。添加如下所示的回报。

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 
    ); 
+0

啊,谢谢。我曾尝试返回$ employee_names;并返回$ employee_ids;但没有将它们作为数组返回。我懂了。谢谢! – Spookytheboy