Điều tôi đang cố gắng sắp xếp là mảng đa chiều chứa giá trị thập phân. Từ những gì tôi đã thử nghiệm, nổi đang gặp khó khăn khi được đặt hàng đúng cách.Sắp xếp mảng đa chiều theo giá trị thập phân
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'];
}
Cách tốt nhất để sắp xếp các số này giảm dần là gì?
"phao nổi gặp khó khăn khi được sắp xếp đúng cách" --- không, không có gì, bạn đã nhầm lẫn điều gì đó. – zerkms
@zerkms Tôi có thể đang đọc sai tài liệu, nhưng tôi không hiểu sai giá trị được đặt hàng không chính xác. http://php.net/manual/en/function.usort.php. Kiểm tra điều này, được nói trong các tài liệu php: "Chú ý Trả về các giá trị không nguyên từ hàm so sánh, chẳng hạn như phao, sẽ dẫn đến một phép nội bộ thành số nguyên của giá trị trả về của cuộc gọi lại. Vì vậy, các giá trị như 0,99 và 0,1 cả hai sẽ được đúc thành giá trị số nguyên là 0, sẽ so sánh các giá trị như nhau. " – stwhite
Tôi đã lấy mã của bạn và nó chỉ hoạt động: http://ideone.com/cqW85m Bạn đã từng thử chạy nó chưa? – zerkms