Hàm uasort trong PHP là gì ?

19/06/2020 - lượt xem
Chia sẻ
 
Rate this post

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm