2013-11-15 57 views
0

我有一個包含許多JSON文檔行的系統,我想比較每個第一行和其他兩行,如果最後一行的元素存在於第一行中,則提取或打印內容的領域仍然在第一。我有義務使用循環。我的問題是,當我打印時,我得到了很多次的結果。使用循環比較三個數組/ json的內容php

例:

echo json_encode($A=array("haha"=>"BINGO","deux"=>"deux","trois"=>"trois")).'</br>'; 
echo json_encode($B=array("haha"=>"BINGO")).'</br>'; 
echo json_encode($C=array("trois"=>"trois")).'</br>'; 

//{"haha":"BINGO","deux":"deux","trois":"trois"} Line 1 
//{"haha":"BINGO"} Line 2 
//{"trois":"trois"} Line 3 


for($i=0; $i<sizeof($A); $i++){ 
    for($j=0; $j<sizeof($B) ;$j++){ 
     for($k=0; $k<sizeof($C); $k++){ 
      if($A[haha]==$B[haha] AND $A[trois] == $C[trois]){ 
       print_r ($A[deux]);echo'</br>'; 

       /*Print 
       deux 
       deux 
       deux */ 
       //I would like to print just one time 'deux' 

       } 
     } 
    } 
} 

任何建議,請,非常感謝!

回答

0

我有點不確定你想要的東西,但是這將提供一個單一的「德塞夫勒」:

$A=array("haha"=>"BINGO","deux"=>"deux","trois"=>"trois"); 
$B=array("haha"=>"BINGO"); 
$C=array("trois"=>"trois"); 

$one_and_two = array_diff($A, $B); 
$one_and_three = array_diff($A, $C); 

$diffs = array_intersect($one_and_two, $one_and_three); 

var_dump($diffs); 
+0

謝謝,但我必須使用循環我有很多的JSON /數組文件,我要循環到他們... – user222914