2011-10-21 8 views
0

i ont ce tableau:avec des valeurs tableau

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

et je besoin de quelque chose comme ceci:

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

donc, je suis en train:

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

mais je reçois ce sortie

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

Une idée comment puis-je corriger la boucle?

+1

Je me demande comment vous pourriez aller aussi loin. – hakre

Répondre

3

Modifiez la valeur que x $ est défini sur dans votre boucle interne de $ 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

Voici le code:

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

L'erreur est que vous devez changer la

$x = 1; 

avec celui-ci:

$x = $i + 1; 
Questions connexes