Это потому, что эта функция означает: «Мне действительно все равно, как они отсортированы, они равны мне». С этим простым примером я получаю обратный массив:
function sortaaa($a,$b) {return 0;}
$array = array(1,2,3,4,5);
usort($array,"sortaaa");
var_dump($array);
//prints array(5) { [0]=> int(5) [1]=> int(4) [2]=> int(3) [3]=> int(2) [4]=> int(1) }
Похоже, PHP зацикливает массив в обратном порядке в функции usort
. Итак, обратите внимание, что руководство usort
гласит, что
Если два члена сравниваются как равные, их порядок в отсортированном массиве не определен.