似乎有一个未记录的变化,PHP 7如何在usort函数中处理相同的结果.
$myArray = array(1, 2, 3);
usort($myArray, function($a, $b) { return 0; });
print_r($myArray);
// PHP 5:
Array
(
[0] => 3
[1] => 2
[2] => 1
)
// PHP 7
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Run Code Online (Sandbox Code Playgroud)
换句话说,在PHP 7中,usort将相等的值添加到数组的末尾,而PHP 5则将它们添加到开头.我找不到任何关于这种行为的提及.
有没有办法强制PHP 5的行为?