2017-07-02 102 views
2

我有一個數組,像這樣:比較從陣列值與所有其他價值

$array = [['name'=> 'one'], ['name'=>'two'],['name'=> 'three'], ['name'=>'four']]; 

我要比較/打印從陣列的每個組合:

一個 - >雙 一個 - >三 ... 2 - >三 2 - >四

等等...

我試過

<?php foreach ($compares as $k1 => $v1){ 
    echo $v1->id.'<br>'; 

    foreach ($compares2 as $k2 => $v2){ 
     if($k1 == $k2) echo $v2->id.'<br>'; 
    } 
} 

?> 
+0

能否請你寫你從數組想確切的結果? – tompec

回答

0

Pavels答案似乎是正確的,也許你應該檢查你的值複製?

<?php 

$array = [['id'=> 'one'],['id'=>'two'],['id'=> 'three'],['id'=>'four']]; 

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

?> 

OUTPUT:

one - two 
one - three 
one - four 
two - three 
two - four 
three - four 
0

我不知道我是否正確理解您的要求(如果您願意,我可以修改它)。看看這個例子:

<?php 

$array = [ 
    ['name'=> 'one'], 
    ['name'=>'two'], 
    ['name'=> 'three'], 
    ['name'=>'four'] 
]; 

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

你好帕維爾,謝謝。但是這樣它比較(從100到1的100個值)......它到底是怎麼回事 – David

+0

我想要一些結果的例子,因爲我擔心我不能100%理解你的目標。 –