微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

嵌套的foreach php

288
   36
      123
      456
      789
29
   36
      123
      456
      789
295
   36
      123
      456
      789

288,29,295是我的第一个数组36,36,36是我的数组数组,123,456,789是我的另一个数组.

我想要展示

288
   36
      123
29
   36
      456
295
   36
      789

这是我的代码

$nos = $_POST['nos'];
$nos2 = $_POST['nos2'];
$nos3 = $_POST['nos3'];
    foreach($nos as $nbs)
    {
        echo $nbs."<br>";   
        foreach($nos2 as $nbs2)
        {
            echo "&nbsp;&nbsp;&nbsp;".$nbs2."<br>";
            foreach($nos3 as $nbs3)
            {
                echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$nbs3."<br>";

            }
            break;
        }
    }

我怎么能用foreach做到这一点
请帮帮我.

解决方法:

改为使用循环:

    $nos = $_POST['nos'];
    $nos2 = $_POST['nos2'];
    $nos3 = $_POST['nos3'];
    for($i = 0 ; $i < count($nos) ; $i++){
      if(isset($nos[$i])) echo $nos[$i]."<br>";
      if(isset($nos2[$i])) echo "&nbsp;&nbsp;&nbsp;".$nos2[$i]."<br>";
      if(isset($nos3[$i])) echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$nos3[$i]."<br>";
    }

或者这样的预告

    $nos = $_POST['nos'];
    $nos2 = $_POST['nos2'];
    $nos3 = $_POST['nos3'];
    foreach($nos as $i => $n){
      echo $n."<br>";
      if(isset($nos2[$i])) echo "&nbsp;&nbsp;&nbsp;".$nos2[$i]."<br>";
      if(isset($nos3[$i])) echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$nos3[$i]."<br>";
    }

编辑

如果您没有数字键或不同的索引,则可以通过array_values http://php.net/manual/en/function.array-values.php更改分配

    $nos = array_values($_POST['nos']);
    $nos2 = array_values($_POST['nos2']);
    $nos3 = array_values($_POST['nos3']);

https://eval.in/671937

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐