2016-04-18 34 views
0

我有问题得到一个模型的回报,并在一个循环(foreach)中使用,没有函数再次运行多次... 我怎样才能为了获得回报并多次使用相同的回报? 代码说明:运行函数一次并获得返回并在一个循环中使用

$valueModel = $this->model->function(); // get return 


foreach ($var as $var2) { 
    $array = array(
     'Db' => $var2->item, 
     'Db' => $valueModel, // run function many times 
     'Db' => $var2->item 
    ); 
     } 
+0

你可能overwritting价值,因为你用3个相同的指数namings“DB”,那么你只会得到最后的。尝试所有的唯一索引3. – nkmol

+0

var'$ array'也会在每次foreach循环时被覆盖。所以如果你打算在循环后面使用'$ array',那么数组中只会有一个项目。 – DFriend

+0

另外,'$ var2-> item'专用两次。 – Tpojka

回答

0

做正确的做法是像

$var  = $this->model->function(); // get return @return array 
$valueModel = $this->model->function(); // get row @return strig 

$data_array = array(); 

$i = 0; 
foreach($var as $row){ 
    $data_array[$i] = array(
          'Db1' => $row->item, 
          'Db2' => $valueModel, // run function many times 
          'Db3' => $row->item //check if this is the correct value 
         ); 

    $i++; 
} 

var_dump($data_array); 
相关问题