-4
function myfunction($v1, $v2) {
    if ($v1 == $v2) {
        return 0;
    }
    if ($v1 > $v2) {
        return 1;
    } else {
        return-1;
    }
}

$a1 = array(5 => "Rat", 2 => "Cat", 7 => "Horse");
$a2 = array(8 => "Rat",4 => "Cat",7 => "Horse");
print_r(array_diff_uassoc($a1, $a2, "myfunction"));

それはどのように実行されますか?

4

2 に答える 2

3

マニュアルをお読みください。

基本的には、ユーザー定義関数のキーを比較する前に、2 つ以上の配列を比較して違いをチェックし、関数で許可されている場合は、最初の配列のキーと値を含む配列を返します。

array_diff_assoc()とは異なり、内部関数ではなく、ユーザー提供のコールバック関数がインデックスの比較に使用されます。

コードのライブ バージョンはこちらでご覧ください。関数に基づいて差を計算し、次の出力を提供します。

Array
(
    [5] => Rat
    [2] => Cat
)
于 2012-05-02T06:54:42.803 に答える
0

あなたがそれを理解することができなかったならば、あなたのプログラムについてのより多くの情報を ここでチェックしてください

于 2012-05-02T06:59:21.313 に答える