按值排序数组PHP
问题描述:
我正在使用usort函数对数组进行排序。该回路正常工作一样是排序(在某种程度上),但是我似乎已经错过了一些有关于小数位等。我函数是低于按值排序数组PHP
usort($this->view->blogs, 'comparison');
这里是功能。函数调用工作正常,我可以看到我在返回的有序数据
function comparison($a, $b)
{
return strcmp($a->cost_per_blog, $b->cost_per_blog);
}
的问题是,我现在回到像下面
0.09724
0.58344
1.16688
12.05776
120.5776
126.60648
13.22464
132.63536
138.66424
168.80864
18.08664
18.08664
18.67008
180.8664
19.25352
21.10108
22.26796
的模式继续列表例如实际排序逻辑..看来我没有考虑到3位数字的排序。我似乎无法想象我失去了什么。任何帮助将不胜感激。
答
不要比较字符串然后,比较数字:
return $a->cost_per_blog - $b->cost_per_blog;
答
你比较他们作为字符串不是双打。
我是个白痴。非常感谢你,对不起! – 2012-08-07 10:17:25