--- mảng điểm $ ----câu hỏi về mảng sắp xếp theo thời gian trong php
Array
(
[0] => Array
(
[0] => 2011-10-02 05:30:00
[1] => 20
)
[1] => Array
(
[0] => 2011-10-04 09:30:00
[1] => 12
)
[2] => Array
(
[0] => 2011-10-01 13:30:00
[1] => 25
)
[3] => Array
(
[0] => 2011-10-03 02:30:00
[1] => 31
)
)
Tôi có một mảng ở trên và muốn sắp xếp mảng này theo thời gian. Sau đó, tôi sử dụng mã như sau để sắp xếp và kết quả là chính xác. Tuy nhiên, nếu tôi đã thay đổi mã time[$key] = $val[0]
thành $time = $val[0]
, kết quả là sai.
Có ai có thể giải thích điều này cho tôi không? Cảm ơn nhiều!
foreach($points as $key=>$val){
$time[$key] = $val[0];
array_multisort($time, SORT_ASC, $points);
}
Thử kiểm tra này: Xóa dòng cuối cùng sử dụng câu lệnh 'time [$ key] = $ val [0]'. Tiếp theo, thay đổi dòng thành '$ time = $ val [0]' và xem '$ time' tạo ra sau vòng lặp. – ladaghini
Điều này là do cách 'mảng_multisort' hoạt động. Nó sắp xếp nhiều mảng và khi mảng '$ time' được sắp xếp, mảng' $ points' được sắp xếp lại theo các chỉ mục mảng trong '$ time'. Tuy nhiên, 'array_multisort' sẽ đến sau' foreach'. – cmbuckley