usort 関数を使用して配列をソートしています。ループはソートと同様に(ある程度)正しく機能していますが、小数点以下の桁数などに関して何かを見逃しているようです。私の機能は以下のとおりです
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 桁の数字の並べ替えを考慮していないようです。私は何が欠けているのか考えられないようです。どんな助けでも大歓迎です。