代码之家  ›  专栏  ›  技术社区  ›  H.Marcus

Foreach故障输出。显示相同的结果

  •  -2
  • H.Marcus  · 技术社区  · 7 年前

    使用one foreach没有问题。但是,当您使用嵌套时,这是一个问题。我尝试了很多方法,但都没有达到我想要的效果。

    $first[] = array($firstforeach);
    $second[] = array($secondforeach);
    

    我创建了一个新的双数组并将其取出。然后我在new foreach中使用它们。

    foreach ($first as $first1) {
        foreach ($second as $second1=>$second2) {   
            echo "a: ".$second1." b: ".$first1[0]." c: ".$second2[0]."</br>";
        }
    }
    

    我得到以下输出。

    a: 0 b: apple   c: 100
    a: 1 b: pear    c: 100
    a: 2 b: orange  c: 100
    a: 3 b: cherry  c: 100
    
    a: 0 b: apple   c: 200
    a: 1 b: pear    c: 200
    a: 2 b: orange  c: 200
    a: 3 b: cherry  c: 200
    
    a: 0 b: apple   c: 300
    a: 1 b: pear    c: 300
    a: 2 b: orange  c: 300
    a: 3 b: cherry  c: 300
    

    但我想要的是输出。

    a: 0 b: apple   c: 100
    a: 1 b: pear    c: 200
    a: 2 b: orange  c: 300
    a: 3 b: cherry  c: 400
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   splash58    7 年前

    不需要两个循环,因为现在可以得到两个数组的所有值的组合

    foreach ($first as $k=>$first1) {
       echo "a: ".$k." b: ".$first1[0]." c: ".$second[$k][0]."</br>";
    }