2014-02-05 30 views
0

我有問題,和array_diff在這段代碼沒有工作,返回空數組array_diff返回一個空數組,我的代碼中是否有任何錯誤?

for ($baris = 0; $baris < count($ala[0]); $baris++) { 
    $satu[]= $ala[0][$baris]; 
    $dua[]= $ala[1][$baris];  
} 

for ($baris=0; $baris < $jumlah ; $baris++) { 
    $satusatu[] = $ala[0][$baris]; 
    $duadua[] = $ala[1][$baris];  
} 

$z = array_diff($satu, $satusatu); 

print_r($z); 
+1

請包括您的源陣列數據($ ala)... – MarcoS

回答

0

貌似count($ala[0]) == $jumlah所以循環運行相同的迭代和你正在做的兩個陣列完全相同的分配,以便有無差異(空數組):

$satu[]= $ala[0][$baris]; 
//same as 
$satusatu[] = $ala[0][$baris]; 
0

如果所比較的數組相等和array_diff(see here)返回一個空數組...

0

第一回聲$薩圖馬雷和$ satusatu和array_diff之前線。

這是如何ü需要調試

0

如果這是你的整個PHP代碼,那麼你定義$satufor循環,這意味着內 - 因爲如何變化範圍在PHP工程 - $satu不存在在for循環之外。 $satusatu也是如此。這兩個數組,當您嘗試引用它們時調用array_diff都是空數組,因爲它們已經超出了範圍。所以,當你在這兩個數組上調用array_diff時,結果將是兩者之間沒有區別。

有關PHP中變量作用域的更多信息可以是found here

相關問題