Работал с uasort, метод меня всегда выручает, но вот тут я наткнулся на такой вот кейс, и не могу понять, почему метод отрабатывает как бы задом наперед.
$ar = [8,0,8,0,8,0,8,0,8,0];
uasort($ar, function ($a, $b) {
if($a===8&&$b!==8)
$ret = 1;
elseif($a===8&&$b===8){
$ret =0;
}else{
$ret = -1;
}
return $ret;
});
pre($ar);
вывод:
Array
(
[5] => 0
[3] => 0
[9] => 0
[7] => 0
[1] => 0
[8] => 8
[4] => 8
[2] => 8
[0] => 8
[6] => 8
)
но почему, ведь я как бы моделирую ситуацию, когда $a со значением 8 должно быть больше всего остального .