2016-11-08 11 views
-1

は私が出力PHPの配列方法への出力すべての順列

apple, banana 
apple, coconut 
banana, coconut 

ない任意の逆の組み合わせにしたい、でも私はapple,banana,coconut

+0

これらは順列ではありません。とにかく、ネストされたループで行うことができます。 – Barmar

+0

私はそれをする方法を知っていたら、私は自分でやっただろう – Francesco

+0

8kそれはあなたが少なくとも試してみるといいだろう – nogad

答えて

5

ものは上がらないが必要な配列

$array= ['apple','banana','coconut'] 

を与えられました順列;順列はコレクションの並べ替えである(例えば、a,b,cb,a,cb,c,a)。あなたが求めているのは、コレクションの2つの要素の組み合わせです。

ネストされたループで実行できます。

$len = count($array); 
for ($i = 0; $i < $len-1; $i++) { 
    for ($j = $i+1; $j < $len; $j++) { 
     echo $array[$i] . ", " . $array[$j] . "<br>"; 
    } 
} 

内側ループは、外側ループ内の次の要素から開始します。それは逆の順序で以前のペアであるリピートを取得しないことを保証します - それは常に要素とその右の何かをペアにします。