2011-10-21 97 views
0

我有此數組:循環與數組值

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

任何想法如何糾正循環?

+1

我想知道你怎麼能得到那麼多。 – hakre

回答

3

更改值$ 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

這是代碼:

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;