Bonjour à tous,
Je ne comprends pas le comportement du code ci-dessous, repris dans la doc de php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}
 
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "1" => "red");
$array2 = array("a" => "green", "yellow", 1 => "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result); // Affiche Array ( [b] => brown [c] => blue )
En effet, l'appel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
key_compare_func("1" === 1)
devrait renvoyer 1 ou -1, et donc la paire "1" => "red" devrait être renvoyée dans le tableau $result. Si quelqu'un peut m'expliquer...
PS: Même problème avec array_diff_assoc...