控制 PHP 陣列排序的 sort 函數

PHP 內建的 sort 函數功能用來對陣列做重新排序,一個 PHP 陣列中,也許會有許多的數字陣列值,也許會有許多的英文整列值,如果我們想要把陣列裡面的數字陣列值或英文陣列值重新排序,都可以用 sort 這個函數來處理。

PHP sort 函數預設是升幕排序,也就是數字會從小到大開始排列,英文字則會由 A 到 Z 排列,當然設計師可以控制排列規則,另外 PHP sort 函數所排序的是陣列值(array value)而不是陣列鍵值(array key),這點要稍微注意一下,普遍的情況來說,陣列值才是我們所要的東西對吧!?先看看語法規則再套用至範例中給各位讀者朋友們參考。

PHP sort 函數的語法
bool sort ( array &$array , int $sort_flags = SORT_REGULAR  )
如果只是單純的要把一個 PHP 陣列重新做陣列值的升幕排序,那直接把陣列放入 sort 函數的第一個參數中即可,如果要改變排序行為,可以使用第二個參數,關於第二個參數的使用請詳閱 PHP 官方網站的《PHP: sort - Manual》這篇說明。

PHP sort 函數重新排序陣列實際語法
<?php
echo 'Now sort english.<br>';
$MyArrayA = array("fruit","orange","apple");
sort($MyArrayA);
print_r($MyArrayA);

echo '<br><br>Now sort number.<br>';
$MyArrayB = array("1024","625","900");
sort($MyArrayB);
print_r($MyArrayB);
?>
範例的排序結果
Now sort english.
Array ( [0] => apple [1] => fruit [2] => orange )

Now sort number.
Array ( [0] => 625 [1] => 900 [2] => 1024 )
我們在範例中準備了一個內含英文陣列值的 PHP 陣列以及一個內含數字陣列值的 PHP 陣列,分別透過 sort 函數做重新排序,可以顯而易見的看到 PHP sort 函數成功的把英文從 a~z 排序,數字也由小至大排序,這就是 sort 預設的升幕排序方式。

更多 PHP 陣列技巧
© Copyright webtech.tw Since 2010