【问题标题】:looping through multiple arrays循环遍历多个数组
【发布时间】:2011-08-28 19:11:59
【问题描述】:

我真的对某事感到困惑,需要一些建议。我希望能够同时遍历 2 个数组,但我似乎无法弄清楚。

  $query = "SELECT * FROM `table1`" ;
    $result = mysql_query($query) or die(mysql_error());
    $total = mysql_num_rows($result);

    while($row = mysql_fetch_array($result)){
    $ip = $row['ip'];
    $domain = $row['domain'];
    }

    ..... bunch of code using $ip and $domain variables .....

我打算使用 foreach,但我一次只能做 1 个数组。

foreach($ip as $aip){
echo "$aip"; // how can i add my $domain array as well? 
}

我错过了什么吗?如何同时使用两个数组?抱歉这个菜鸟问题。

【问题讨论】:

  • 你指的是哪两个数组?它们的尺寸相同吗?
  • 好吧,在这种情况下,据我所知,您不需要 foreach,您已经遍历了从 mysql 查询中获得的整个数组。我只是对你想要做的第二个循环来自哪里感到困惑?一次做 1 个数组有什么问题?您不必这样做,但是像您已经在做的那样一次循环浏览一个会更容易。所以,我仍然不确定你到底想要什么。

标签: php mysql arrays loops foreach


【解决方案1】:
foreach (array_combine($ip, $domain) as $aip => $adomain)

【讨论】:

    【解决方案2】:

    你必须直接在 inside 你的 while() 循环中使用 $ip 和 $domain:

    while($row = mysql_fetch_array($result)){
        $ip = $row['ip'];
        $domain = $row['domain'];
    
        ..... bunch of code using $ip and $domain variables .....
    }
    

    不需要另一个 foreach()。

    【讨论】:

      【解决方案3】:
      foreach($ip as $key => $aip){
          echo $aip . $domain[$key]; 
      }
      

      但这会假设 $domain 和 $ip 实际上是数组,在您的示例中看起来并不相同(并且它们具有相同的键和元素数量)...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-10
        • 2010-10-24
        • 2022-01-27
        • 2013-03-25
        • 2013-04-01
        相关资源
        最近更新 更多