自定义排序方式
贴一个官方示例:先奇后偶;从小到大
function my_sort ($a, $b)
{
echo "\ta" . $a . $b . "b\t";
// 如果两个数都是偶数,正常比较
if ($a % 2 == 0 && $b % 2 == 0) {
if ($a == $b) {
return 0;
}
return $a < $b ? -1 : 1;
}
// 如果第一个值是偶数,返回第一个数大,偶数向后排
if ($a % 2 == 0) {
return 1;
}
// 如果第二数是偶数,返回第一个数小,奇数向前排
if ($b % 2 == 0) {
return -1;
}
// 如果都是奇数,正常比较
return $a < $b ? -1 : 1;
}
输入
$a = array(22, 16, 57, 23);
usort($a, "my_sort");
打印对应my_sort函数的入参
a2216b a5716b a2223b a1623b a5723b
不清楚usort内部排序逻辑 是无法明白实际的排序规则的