Php 多次使用foreach

Php 多次使用foreach,php,mysql,foreach,Php,Mysql,Foreach,如何多次使用foreach <?php $query = $db->query('SELECT tbl_stok.id_stok, tbl_stok.id_provinsi, tbl_stok.id_kabupaten, tbl_stok.tanggal, tbl_stok.mie_instan, tbl_stok.beras, tbl_stok.telur FR

如何多次使用
foreach

<?php
    $query =  $db->query('SELECT tbl_stok.id_stok,
        tbl_stok.id_provinsi,
        tbl_stok.id_kabupaten,
        tbl_stok.tanggal,
        tbl_stok.mie_instan,
        tbl_stok.beras,
        tbl_stok.telur
        FROM `tbl_stok` INNER JOIN tbl_wilayah ON tbl_stok.id_provinsi = tbl_wilayah.id_user
    ');
    $query->fetchAll;
?>
然后我想对图表使用第二个
foreach

<?php foreach($query as $row){
    echo $row['telur'];
}?>


但是,此
foreach
仅工作一次。

仅使用foreach一次,并存储您需要的所有值,如下所示:

<?php 
   $beras_array = array();
   $telur_array = array();
   foreach($query as $row){
      $beras_array[] = $row['beras'];
      $telur_array[] = $row['telur'];
   }

  //you can use `for` explained later instead of two `foreach`
   foreach($beras_array as $b){
      echo $b;
   }
   foreach($telur_array as $t){
      echo $t;
   }

   //With this method you can also use only one for instead of two foreach
   $limit = count($beras_array);
   for($i=0; $i<$limit; $i++){
      echo $beras_array[$i];
      echo $telur_array[$i];
   }
?>


我希望它有助于

只使用foreach一次并存储您需要的所有值,如下所示:

<?php 
   $beras_array = array();
   $telur_array = array();
   foreach($query as $row){
      $beras_array[] = $row['beras'];
      $telur_array[] = $row['telur'];
   }

  //you can use `for` explained later instead of two `foreach`
   foreach($beras_array as $b){
      echo $b;
   }
   foreach($telur_array as $t){
      echo $t;
   }

   //With this method you can also use only one for instead of two foreach
   $limit = count($beras_array);
   for($i=0; $i<$limit; $i++){
      echo $beras_array[$i];
      echo $telur_array[$i];
   }
?>

我希望它有帮助

您可以这样做:

1) 将数据保存到数组中

foreach($query as $row){
    $data[]= $row;
}
2) 在每个循环中使用您的数组,次数可以根据您的需要而定

foreach($data as $row){
    echo $row['beras'];
}

foreach($data as $row){
    echo $row['telur'];
}
您可以这样做:

1) 将数据保存到数组中

foreach($query as $row){
    $data[]= $row;
}
2) 在每个循环中使用您的数组,次数可以根据您的需要而定

foreach($data as $row){
    echo $row['beras'];
}

foreach($data as $row){
    echo $row['telur'];
}

通过只为使用一个
,而不是两个
foreach
,可以加快脚本的运行速度。有关更多说明,请参阅更新的答案。您可以通过仅使用一个
for
而不是两个
foreach
来加快脚本的运行速度。有关更多说明,请参阅更新的答案。