0

当 foreach 完成他的工作时,我需要将所有 id 放入一个数组中,因为现在我正在纠正变量 $eduevalid ......

$edlevel_list = array();

   foreach ($evaluation_list as $evaluation) 
      {
         array_push($edlevel_list, $evaluation);
    $eduevalid = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
      }

我需要当foreach第一次通过时保存在数组$edlevel_list中

4

6 回答 6

0

你可以使用这个:

$eduevalid[] = $this->Evaledu_model->getRecordByEvalId($evaluation->id);

这样,结果的每个 id 都将存储到数组的新索引中。

结合您的代码:

$eduevalid = array();

 foreach ($evaluation_list as $evaluation) 
 {
    $eduevalid[] = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
 }
于 2013-11-08T14:38:36.693 回答
0

您可以使用元素 id=>evaluation 形成关联结果数组:

$edlevel_list = array();

   foreach ($evaluation_list as $evaluation) 
      {
         $eduevalid = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
         array_push($edlevel_list, array($eduevalid => $evaluation);

      }
于 2013-11-08T14:39:27.210 回答
0

我真的不明白你想做什么,只需选择一种解决方案:

foreach ($evaluation_list as $evaluation) 
{
    //get the id
    $eduevalid = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
    //solution one : just store the id in the array
    array_push($edlevel_list, $eduevalid );
    //solution two : use the id as key of your array and store the evaluation object
    $edlevel_list[$eduevalid] = $evaluation;
}
于 2013-11-08T14:41:58.683 回答
0

以下应该做的工作:

$edlevel_list = array();
$eduevalid_list = array();

   foreach ($evaluation_list as $evaluation) 
   {
       $edlevel_list[] = $evaluation;
       $eduevalid_list[] = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
   }

您将在数组中拥有所有先前重写的$eduevalid变量。$eduevalid_list

于 2013-11-08T14:43:45.307 回答
0

我不明白你想表达什么意思。

但可能是:

   $edlevel_list = array();
   $eduevalid = array();
   foreach ($evaluation_list as $evaluation) 
      {
         $edlevel_list[] =  $evaluation;
         $record = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
         $eduevalid[] = $evaluation->id;
      }
于 2013-11-08T14:45:40.177 回答
0

这是使用foreach loop. 希望这就是你要找的。

$arrayRecords = array();

foreach($evaluation_list as $evaluation){

      $arrayRecords[] = $evaluation;        

}

如果您有关联数组,则可以执行以下操作。

$arrayRecords = array();

foreach($evaluation_list as $key=>$evaluation){

      $arrayRecords[$key] = $evaluation;        

}
于 2013-11-08T14:59:17.880 回答