Hàm usort()
dùng để sặp xếp một mảng dựa vào hàm so sánh do người dùng định nghĩa. hàm so sánh này sẽ quyết định có đổi vị trí giữa hai phần tử hay không. Nếu hàm so sánh trả về TRUE thì hai phần tử đổi vị trí, ngược lại sẽ giữ nguyên vị trí.
Cú pháp
Cú pháp: usort ( $array , $value_compare_func );
Trong đó:
$array
là mảng cần được sắp xếp.$value_compare_func
là hàm so sánh.
Hàm usort()
sẽ trả về TRUE nếu sắp xếp thành công và FALSE nếu thất bại.
Bài viết này được đăng tại [kiso.vn]
Hàm so sánh là gì?
Theo mặc định hàm so sánh sẽ có hai tham số truyền vào, hai tham số này chính là hai phần tử liền kề nhau dùng để hoán đổi vị trí lúc sắp xếp.
Ví dụ: Giả sử bạn có một mảng gồm 4 phần tử 1, 2 ,3, 4 thì lúc này các cặp phần tử cần sắp xếp sẽ là (1,2) (2,3)(3,4).
Ví dụ
function cmp($a, $b) { if ($a == $b) { return 1; } return ($a > $b) ? 1 : -1; } $a = array( 3, 2, 5, 3, 1 ); usort($a, "cmp"); foreach ($a as $key => $value) { echo "$key: $value<br />"; }
0: 1 1: 2 2: 3 3: 3 4: 5
function cmp($a, $b) { return strcmp($a, $b); } $subject[0] = "php"; $subject[1] = "java"; $subject[2] = "css"; usort($subject, "cmp"); foreach ($subject as $key => $value) { echo "$subject[$key]: " . $value . "<br />"; }
$subject[0]: css $subject[1]: java $subject[2]: php
Trên đây là định nghĩa và cách sử dụng của hàm usort()
,
Tham khảo: php.net.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chínhCú phápVí dụ1. Bảo vệ khỏi tấn công DoS...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chínhCú phápVí dụ1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chínhCú phápVí dụV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code php sau: <?php...
Directory traversal vulnerabilities (phần 3)
Nội dung chínhCú phápVí dụV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng Xét...
Directory traversal vulnerabilities (phần 2)
Nội dung chínhCú phápVí dụIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường...