Если я использую массив и обратный вызов возвращает 0, элементы меняются на противоположные.Если обратный вызов uasort возвращает 0, элементы меняются на противоположные.
<?php
$a = array("1", "2", "3");
print_r($a);
function nosort($a, $b){
return 0;
}
uasort($a, "nosort");
print_r($a);
Результаты в:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array
(
[2] => 3
[1] => 2
[0] => 1
)
Почему это происходит? Не было бы 0 не переключающих элементов более нормальным по умолчанию?
Использование '1' будет сохранять свою позицию: https://eval.in/220979 –
Это больше вопрос, почему не использует 0, чтобы сохранить свою позицию? Кажется, что это будет нормальный по умолчанию –
А, да, это имеет больше смысла для вопроса. Я всегда считал, что '1' - индекс элемента увеличения,' 0', тот же, '-1' уменьшает индекс элемента. (+1 как заинтересовало) –