如何使用usort在php中执行自然排序

The*_*ear 7 php sorting

有没有人知道使用PHP中的usort函数对对象执行自然顺序排序的功能是什么.

让我们说对象($ obj-> Rate)有一系列的值

$obj->10
$obj->1
$obj->2
$obj->20
$obj->22
Run Code Online (Sandbox Code Playgroud)

我试图让sort函数返回是什么?

$obj->22
$obj->20
$obj->10
$obj->2
$obj->1
Run Code Online (Sandbox Code Playgroud)

作为我目前的标准排序功能

function MySort($a, $b)
{ 
    if ($a->Rate == $b->Rate)
    {
        return 0;
    } 
    return ($a->Rate < $b->Rate) ? -1 : 1;
}
Run Code Online (Sandbox Code Playgroud)

正在回归

$obj->1
$obj->10
$obj->2
$obj->20
$obj->22
Run Code Online (Sandbox Code Playgroud)

Mar*_*c B 19

使用strnatcmp进行比较功能.例如,它就像

function mysort($a, $b) {
   return strnatcmp($a->rate, $b->rate);
}
Run Code Online (Sandbox Code Playgroud)