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 hàm uasort () trong PHP như sau:
uasort ( array &$array , callable $value_compare_func ) : bool
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.
<?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 )
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 )
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
Bình luận: