цикл со значениями массива - PullRequest
0 голосов
/ 21 октября 2011

У меня есть этот массив:

$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 ]

3 голосов
/ 21 октября 2011

Измените значение, которое установлено в $ x во внутреннем цикле for, с $ 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 голос
/ 21 октября 2011

Это код:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...