循环数组值

时间:2011-10-21 17:53:46

标签: php arrays loops

我有这个数组:

$um = array("PHP", "Python", "Java", "C++");

我需要这样的东西:

PHP ------- Python
PHP ------- Java
PHP ------- C++
Python ---- Java
Python ---- C++
Java ------ C++

所以,我正在尝试:

for ($i = 0; $i < count($um); $i++) {
    for ($x = 1; $x < count($um); $x++) {
        echo $um[$i]."-----".$um[$x]."\n";
    }
}

但是我得到了这个输出

PHP------Python
PHP------Java
PHP------C++
Python---Python
Python---Java
Python---C++
Java-----Python
Java-----Java
Java-----C++
C++------Python
C++------Java
C++------C++

我知道如何纠正循环?

2 个答案:

答案 0 :(得分:3)

将内部for循环中$ x设置的值从$ x = 1更改为$ x = $ i + 1

for ($i = 0; $i < count($um); $i++) {
    for ($x = $i + 1; $x < count($um); $x++) {
        echo $um[$i]."-----".$um[$x]."\n";
    }
}

答案 1 :(得分:1)

这是代码:

for ($i = 0; $i < count($um); $i++) {
    for ($x = $i + 1; $x < count($um); $x++) {
        echo $um[$i]."-----".$um[$x]."\n";
    }
}

错误是您必须更改

$x = 1;

这一个:

$x = $i + 1;