2013-01-22 55 views
-2

array_diff_assocarray_diff_uassoc都做同樣的事情(計算差異b/w數組與附加索引檢查)唯一的區別是後面的一個accpet a callbackarray_diff_uassoc的實際用途是什麼?

區別只是回調,在這種情況下,您應該更喜歡array_diff_uassoc而不是array_diff_assoc

我想知道,如果回調會做以下同是每一個情況,那麼是什麼用array_diff_uassoc

function key_compare_func($a, $b) 
{ 
    if ($a === $b) { 
     return 0; 
    } 
    return ($a > $b)? 1:-1; 
} 
+2

您是否在標題中提出問題,然後在問題內容中回答問題? –

+1

「這是我們如何得到螞蟻其他巴里?是的其他巴里,這正是我們如何得到螞蟻。」 – Sammitch

+0

@ExplosionPills:我改寫了這個問題 – Daric

回答

3

實際不同的是,用戶定義的函數可以任何東西以外的默認值。 您自己定義回調。

僅僅因爲文檔只給出一個簡單的例子並不意味着這是唯一的可能性。這裏是你會使用湯姆多維數組元素比較的回調函數的一個人爲的例子:

function key_compare_func($a, $b) { 
    if ($a['key']['subkey'] === $b['key']['subkey']) { 
     return 0; 
    } 
    return ($a['key']['subkey'] > $b['key']['subkey'])? 1:-1; 
} 

編輯: PHP7有飛船!

function key_compare_func($a, $b) { 
    return $a['key']['subkey'] <=> $b['key']['subkey'] 
} 
相關問題