Hàm uasort ()trong PHP có nhiệm vụ sắp xếp một mảng theo VALUE và được so sánh qua hàm callback, nếu callback trả về TRUE thì đổi vị trí hai phần tử, ngược lại sẽ giữ nguyên vị trí, đồng thời giữ nguyên KEY của phần tử đó.
Hàm này được sử dụng trên PHP4, PHP5 và PHP7.
Cú pháp
Cú pháp hàm uasort () trong PHP như sau:
uasort ( array &$array , callable $value_compare_func ) : bool
Tham số truyền vào
- $array là mảng được truyền vào.
- $value_compare_func là callback được gọi.
Giá trị trả về
Hàm uasort () sẽ trả về giá trị TRUE nếu thành công và FALSE nếu hàm thất bại.
Ví dụ minh họa
<?php // Comparison function function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } // Array to be sorted $array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); print_r($array); // Sort and print the resulting array uasort($array, 'cmp'); print_r($array); ?>
Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) Array ( [d] => -9 [h] => -4 [c] => -1 [e] => 2 [g] => 3 [a] => 4 [f] => 5 [b] => 8 )
Ứng dụng
Một ví dụ về sử dụng anonymous function khi sử dụng hàm uasort() thay vì phải callback <?php $fruits = array('Orange9','Orange11','Orange10','Orange6','Orange15'); uasort ( $fruits , function ($a, $b) { return strnatcmp($a,$b); // or other function/code } ); print_r($fruits); ?> returns Array ( [3] => Orange6 [0] => Orange9 [2] => Orange10 [1] => Orange11 [4] => Orange15 )
Hàm có liên quan
- Hàm uksort() để sắp xếp theo KEY các giá trị mảng theo giá trị trả về của callback
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm uasort () trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé.
Cảm ơn bạn đã ghé thăm codetutam.com