私がしようとしているのは、10進値を含む多次元配列をソートすることです。私がテストしたことから、フロートは正しく注文されることに問題があります。多次元配列を10進数値でソート
Array
(
[0] => Array
(
[company] => Ebay
[weight] => 4.6
)
[1] => Array
(
[company] => Ebay
[weight] => 1.7
)
[2] => Array
(
[company] => Ebay
[weight] => 3.7
)
)
usort($array, 'order_by_weight');
// Sorts DESC highest first
function order_by_weight($a, $b) {
return $b['weight'] - $a['weight'];
}
降順でこれらの数字を並べ替えるための最良の方法は何ですか?
「フロートが正しく注文されていない」---いいえ、そうではありません。何かを混乱させました。 – zerkms
@zerkms私はドキュメントを誤読しているかもしれませんが、誤って順序付けされた値を誤って読んでいるわけではありません。 http://php.net/manual/en/function.usort.php。 " floatのような比較関数からの非整数値を返すと、コールバックの戻り値の整数への内部キャストが発生するので、0.99や0.1などの値が返されます両方とも等しい値を比較する0の整数値にキャストされます。 – stwhite
私はあなたのコードを取ってきました、それだけで動作します:http://ideone.com/cqW85mあなたはそれを実行しようとしましたか? – zerkms