Dans la doc PHP il est écrit
.La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
int callback ( mixed $a, mixed $b )
Je ne sais pas si c'est à cause de la fatigue mais je n'arrive pas à comprendre pourquoi les variables de la fonction callback semblent inversées.
Voici mon code:
Code : Tout sélectionner
function comparer($a, $b)
{
if ($a == $b):
return 0;
endif;
return ($a > $b) ? 1 : -1;
}
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "B" => "brown", "yellow", "red");
print_r(array_intersect_uassoc($array1, $array2, "comparer"));
Code : Tout sélectionner
return ($a < $b) ? 1 : -1;Pouvez-vous m'expliquer ?