01/10/2018, 16:14
Hỏi về sắp xếp trong php
Chào mọi người.
Hôm qua mình có hỏi câu này [Sắp xếp trong php] nhưng vẫn chưa giải quyết được nên mạo muội hỏi mn tiếp.
Ví dụ mình có một class trong php như sau:
<?php class Example { public function getData(){ // code return $data; } public function sort(){ $data = $this->getData(); // code sort return $data; // da duoc sap xep } }
Vả đây là data mà function getData trả về
> Array
> (
> [0] => Array
> (
> 'id' => 13,
> 'nameStudent' => "Tran Van B",
> 'birthDate' => "1996-05-31",
> 'emailStudent' => "tran@gmail.com",
> 'phoneNumber' => "123123123",
> 'pictureProfile' => "images1675493_google_chrome_logo_930x488.png",
> ),
> [1] => Array
> (
> 'id' => 16,
> 'nameStudent' => "Tran Van B",
> 'birthDate' => "1996-05-31",
> 'emailStudent' => "tranfadfasdf@gmail.com",
> 'phoneNumber' => "1231234323123",
> 'pictureProfile' => "images1675493_google_chrome_logo_930x488.png",
> ),
> [2] => Array
> (
> 'id' => 16,
> 'nameStudent' => "Nguyen Van C",
> 'birthDate' => "1996-05-31",
> 'emailStudent' => "tranfadfasdf@gmail.com",
> 'phoneNumber' => "1231234323123",
> 'pictureProfile' => "images1675493_google_chrome_logo_930x488.png",
> ),
> );
Thực sự mình vẫn chưa tìm thấy một giải pháp nào để sắp xếp được
- theo tên
- theo năm sinh
Của dữ liệu được getData trả về như kia. Mong m.n giúp đỡ
Bài liên quan
Bạn có thể post câu hỏi thay thắc mắc ngay bên kia mà?
Như link này thì đây là kết quả đúng nhất rồi: Sắp xếp trong php
Bạn phải dùng usort() để thực hiện sắp xếp trong trường hợp này.
usort()
đơn giản là loop array của bạn rồi gọi callback, trong callback đó bạn có thể thay đổi thứ tự tùy điều kiện bạn muốn.Mình có demo 2 function nhỏ để sort theo name theo alphabeta và DoB theo thứ tự cũ thì lên trước.
Hi vọng lần sau bạn không post những bài lặp lại như thế này.
Cảm ơn bạn đã support. Thực sự cảm ơn