如何在另一个php页面中显示所有数组值

时间:2013-12-13 19:15:20

标签: php arrays

我正在尝试显示从一个php页面传递到另一个php页面的数组的值,但我只获得最后一个元素值。当我使用print_r()检查数组内容时,它显示所有值。 这是我需要显示的值 -

<tr class="bgcolor_02">
  <?php
    if(is_array($subject_array))
    {
    foreach($subject_array as $each_subject)
    {
  ?>
  <td width="9%"> <?php echo ucfirst($each_subject['es_subjectname']);?> </td>
  <?php } } ?>
</tr>
<tr>
  <?php
  $inc=0;
  foreach($subject_array as $each_subject)
  {
  ?>
  <td> <?php echo $array_roll[$inc]; ?> </td>
  <?php $inc++;
  }?>
</tr>

以下是获取和传递值的代码 -

if(count($errormessage)==0)
{
  $cout=0;
  if(isset($classid))
  {
    $subject_array=$db->getRows("SELECT * FROM es_subject WHERE es_subjectshortname='".$classid."'");
    if(is_array($subject_array))
    {
       foreach($subject_array as $each_subject)
       {
      $array_subject[$each_subject['es_subjectid']]=$each_subject['es_subjectname'];

      $sub_id=$each_subject['es_subjectid'];
      $roll_array=$db->getRow("SELECT es_exam_detailsid FROM es_exam_details WHERE academicexam_id='".$exam_id."' AND subject_id='".$sub_id."'");               
          $array_roll[$cout]=$roll_array['es_exam_detailsid'];
      print_r($array_roll[$cout]."  ");
    }
      }
   }
}

通过这段代码,我得到像这样的输出 英语地理会计电算经济学
33个
输出必须为何 英语地理会计电算经济学
26 27 31 32 33
由于print_r(),我能够在页面顶部看到值;这是这样的 26 27 31 32 33

在这个问题上需要一些帮助,为什么我没有得到所有值

2 个答案:

答案 0 :(得分:1)

由于糟糕的代码格式和无意义的变量名称,不得不准确地说出发生了什么,但我猜你的问题可能在于:

$array_roll[$cout]=$roll_array['es_exam_detailsid'];

您永远不会更改$cout的值,因此您只是不断覆盖值和数组索引位置0。

答案 1 :(得分:0)

foreach($subject_array as $each_subject)
       {
      $array_subject[$each_subject['es_subjectid']]=$each_subject['es_subjectname'];

      $sub_id=$each_subject['es_subjectid'];
      $roll_array=$db->getRow("SELECT es_exam_detailsid FROM es_exam_details WHERE     academicexam_id='".$exam_id."' AND subject_id='".$sub_id."'");               
          $array_roll[$cout]=$roll_array['es_exam_detailsid'];
      $cout++; //HERE YOU MUST HAVE++
    }

并且会很好。