本文介绍了如何使用usort在php中执行自然排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人知道在对象上使用PHP中的usort函数执行自然顺序排序的功能是什么.
Does anyone know what the function is to perform a natural order sort using the usort function in PHP on an object.
让我们说对象($ obj-> Rate)在
Lets say the object ($obj->Rate)has a range of values in
$obj->10
$obj->1
$obj->2
$obj->20
$obj->22
我要如何使sort函数返回
What is I am trying to get the sort function to return
$obj->22
$obj->20
$obj->10
$obj->2
$obj->1
作为我当前的标准排序功能
As my current standard sort function
function MySort($a, $b)
{
if ($a->Rate == $b->Rate)
{
return 0;
}
return ($a->Rate < $b->Rate) ? -1 : 1;
}
正在返回
$obj->1
$obj->10
$obj->2
$obj->20
$obj->22
推荐答案
将 strnatcmp 用于您的比较功能.例如就这么简单
Use strnatcmp for your comparison function. e.g. it's as simple as
function mysort($a, $b) {
return strnatcmp($a->rate, $b->rate);
}
这篇关于如何使用usort在php中执行自然排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!