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