当我有一个foreach时,如何在数组中保存值?

时间:2013-11-08 14:34:46

标签: php arrays codeigniter

当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

6 个答案:

答案 0 :(得分:0)

你可以使用它:

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

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

与您的代码结合:

$eduevalid = array();

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

答案 1 :(得分:0)

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

$edlevel_list = array();

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

      }

答案 2 :(得分: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;
}

答案 3 :(得分: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变量。

答案 4 :(得分:0)

我无法得到你想要的意思。

但可能是:

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

答案 5 :(得分:0)

这是使用foreach loop将值存储在数组中的最简单方法。希望这就是你要找的。

$arrayRecords = array();

foreach($evaluation_list as $evaluation){

      $arrayRecords[] = $evaluation;        

}

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

$arrayRecords = array();

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

      $arrayRecords[$key] = $evaluation;        

}