PHP:數組函數 asort 按值升序排序

最近更新時間 2020-01-12 11:03:30

asort 函數對數組進行按值由低到高(ascending order、升序)排序並保持索引關係。

sort 函數排序類似,最大的區別是 asort 函數會保持索引關係,而 sort 會生成新索引。

說明

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

參數

array
輸入的數組。
sort_flags
可選的參數 sort_flags 改變排序的行為。
  • SORT_REGULAR - 正常比較單元(不改變類型)。
  • SORT_NUMERIC - 單元被作為數字來比較。
  • SORT_STRING - 單元被作為字符串來比較。
  • SORT_LOCALE_STRING - 。
  • SORT_NATURAL - 。
  • SORT_FLAG_CASE - 。

範例

<?php
$fruits = array(
  "d" => "lemon", 
  "a" => "orange", 
  "b" => "banana", 
  "c" => "apple"
);
asort($fruits);

print_r($fruits);
?>
Array
(
  [c] => apple
  [b] => banana
  [d] => lemon
  [a] => orange
)

與 sort 函數比較

<?php
$fruits = array(
  "d" => "lemon", 
  "a" => "orange", 
  "b" => "banana", 
  "c" => "apple"
);
sort($fruits);

print_r($fruits);
Array
(
    [0] => apple
    [1] => banana
    [2] => lemon
    [3] => orange
)

由輸出結果比較能看出,sort 函數排序後數組索引發生變化。

rss_feed