2014-09-30 51 views
1

我剛開始從w3schools學習PHP。 下面給出的代碼是發送三個數組到一個名爲myfunction的函數。PHP array_diff_uassoc()函數

$result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); 

但函數只接受兩個數組。

function myfunction($a,$b) 

這是什麼?

complete code link

+4

意見:你不應該使用或連結[W3Schools的(http://www.w3fools.com)。這不是一個可靠的信息來源,我們不想鼓勵它的使用。 – 2014-09-30 12:51:20

+0

w3fools.com ...:p – 2014-09-30 12:55:52

+1

@JohnConde:我不是w3schools的粉絲,但他們已經清理了自己的行爲。即使w3fools也承認這一點。他們的網站明確表示,這是一個足夠體面的地方開始 – 2014-09-30 13:00:49

回答

1

退房的文檔的array_diff_uassoc()查看回調的定義是什麼,這是它用來進行比較的方法,它接受兩個值,儘管提供的值的數量:

參數:key_compare_func

比較函數必須返回一個整數小於,等於,或 大於零,如果第第一個參數被認爲是 分別小於,等於或大於第二個參數。

int callback (mixed $a, mixed $b) 

在所提供的示例中的回調方法是function myfunction($a,$b)

您還可以從您可以提供2個或更多的陣列功能的文檔看,這是由以下定義頁面的頂部指出:

陣列array_diff_uassoc(數組$數組1,數組$數組2 [,數組 $ ...],調用$ key_compare_func)

+0

這是什麼?返回($ a> $ b)? 1:-1; – 2014-09-30 12:58:03

+0

這意味着回調函數根據回調函數中的邏輯是否認爲數組$ a是'more'而不是數組'$ b'返回1或-1值結果。如果是,則爲-1,否則爲-1 – Luke 2014-09-30 12:59:55

+0

Coulton非常感謝。 :) – 2014-09-30 13:27:43