合并两个数组并循环遍历它们以返回所有元素

时间:2016-09-11 20:11:25

标签: php arrays

我有两个查询从每个查询返回5行数据。然后我合并生成的数组以创建一个数组。

如果我只使用一个arry,我会这样做:

mysql_select_db($database_iMaint, $iMaint);
$query_WaterHot = sprintf("SELECT h.UniqueID, h.Room, h.AuditBy,  h.AuditDate, h.SeqID, h.WaterHot 
FROM NXLHR_Hist h 
WHERE (h.WaterHot IS NOT NULL OR
       h.WaterHot IS NOT NULL
      ) 
      AND 
      h.CompStamp >=  DATE('".$_POST['FromDate']."') 
      AND 
      h.CompStamp <= DATE('".$_POST['ToDate']."') 
ORDER BY h.Room ASC 
");
$WaterHot = mysql_query($query_WaterHot, $iMaint) or die(mysql_error());
$row_WaterHot = mysql_fetch_assoc($WaterHot);
$totalRows_WaterHot= mysql_num_rows($WaterHot);


do {

    echo $row_WaterHot['Room'];
    echo $row_WaterHot['WaterHot'];
    echo $row_WaterHot['WaterCold'];

} while ($row_WaterHot = mysql_fetch_assoc($WaterHot));

以上是我通常处理数据的方法,但在这种情况下,我使用两个查询的结果,这就是我合并它们的原因。

所以我现在需要遍历合并的数组并输出每个值。

$row_WaterHot = mysql_fetch_assoc($Waterhot); // five records
$row_WaterCold = mysql_fetch_assoc($WaterCold); // five records
$Water = array();
$Water = array_merge($row_WaterHot, $row_WaterCold);

foreach ($Water as $key => $value) {

// how do I echo the results of each value like this
echo "the name of the $key and the $value

} 

或者我应该采取另一种方式吗?

提前感谢您的帮助和时间。

1 个答案:

答案 0 :(得分:0)

只需使用foreach 这很容易使用。模板看起来像这样:

foreach($array as $key=>$value){
}

在你的情况下,你会有这样的东西

  foreach($Water as $key=>$val)
        echo $val;