我有这个数组:
$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++
我知道如何纠正循环?
答案 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;