Hàm asort trong PHP là gì ?

05/08/2022 - lượt xem
Chia sẻ
 
Rate this post

Hàm asort() trong PHP có nhiệm vụ sắp xếp giá trị của một mảng mà vẫn giữ nguyên KEY ban đầu của chúng.

Hàm này được sử dụng trên PHP4, PHP5 và PHP7.

Cú pháp

Cú pháp hàm asort() trong PHP như sau:

arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

Tham số truyền vào 

  • $array là mảng được truyền vào.
  • $sort_flags là kiểu so sánh và sẽ có các kiểu sau

SORT_REGULAR so sánh kiểu thông thường, có thể sắp xếp theo bảng chữ cái (mặc định)

SORT_NUMERIC so sánh theo kiểu số

SORT_STRING  so sánh dưới dạng chuỗi

SORT_STRING  so sánh dưới dạng chuỗi, dựa trên ngôn ngữ hệ thống – có thể sử dụng setlocate() để cài đặt ngôn ngữ

SORT_NATURE  so sánh các mục dưới dạng chuỗi theo thứ tự tự nhiên.

SORT_FLAG_CASE có thể kết hợp OR SORT_STRING hoặc SORT_NATURE  để sắp xếp chuỗi không phân biệt chữ hoa chữ thường.

Giá trị trả về

Hàm arsort() sẽ trả về TRUE nếu thành công và FALSE nếu thất bại.

Ví dụ minh họa

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Và kết quả trả về sẽ là

c = apple
b = banana
d = lemon
a = orange

Trong ví dụ bạn có thể thấy, mảng sau khi được sắp xếp vẫn được giữ nguyên KEY ban đầu.

Ứng dụng

Bạn có thể sử dụng asort() hoặc arsort() để sắp xếp giá trị của mảng theo cách mình muốn, qua cách sau

<?php
function sort_array($array$sort_value$reverse false){
    $value $result = array();
   
    foreach($array as $key => $rows){
        $value[$key] = strtolower($rows[$sort_value]);
    }
   
    if($reverse == true){
        arsort($value);
    }else{
        asort($value);
    }
   
    foreach($value as $keys => $null){
        $result[] = $array[$keys];
    }
   
    return $result;
}
?>
<?php

$array = array(array('a' => 'foo'), array('a' => 'foo4'), array('a' => 'foo2'), array('a' => 'foo3'));
print_r($array);
//Array ( [0] => Array ( [a] => foo ) [1] => Array ( [a] => foo4 ) [2] => Array ( [a] => foo2 ) [3] => Array ( [a] => foo3 ) )

print_r(sort_array($array'a'));
//Array ( [0] => Array ( [a] => foo ) [1] => Array ( [a] => foo2 ) [2] => Array ( [a] => foo3 ) [3] => Array ( [a] => foo4 ) )

print_r(sort_array($array'a'true));
//Array ( [0] => Array ( [a] => foo4 ) [1] => Array ( [a] => foo3 ) [2] => Array ( [a] => foo2 ) [3] => Array ( [a] => foo ) )

?>

 

Các hàm liên quan

  • Hàm arsort() có nhiệm vụ sắp xếp mảng như arsort nhưng sẽ bắt đầu con trỏ từ cuối mảng.

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm arsort() 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