新聞中心

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計,東風(fēng)網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東風(fēng)等地區(qū)。東風(fēng)做網(wǎng)站價格咨詢:13518219792
我們除了可以自定義一些數(shù)組排序的函數(shù)外,PHP 還內(nèi)置了多種對數(shù)組進行排序的函數(shù),這些函數(shù)允許用戶在數(shù)組內(nèi)部對元素進行排列。通過排序可以對數(shù)據(jù)進行合理的管理,提高程序的執(zhí)行效率。下面我們就來介紹一下 PHP 中的數(shù)組排序函數(shù)。
PHP 中常用的數(shù)組排序函數(shù)如下表所示:
| 函數(shù) | 說明 |
|---|---|
| sort() | 對數(shù)組元素進行升序排序(從小到大)。 |
| rsort() | 對數(shù)組元素進行降序排序(從大到?。?。 |
| asort() | 對數(shù)組元素進行升序排序(從小到大),并保持索引關(guān)系。 |
| arsort() | 對數(shù)組元素進行降序排序(從大到?。?,并保持索引關(guān)系。 |
| ksort() | 按照數(shù)組的鍵值對數(shù)組進行升序排序(從小到大),并保持索引關(guān)系。 |
| krsort() | 按照數(shù)組的鍵值對數(shù)組進行降序排序(從大到?。?,并保持索引關(guān)系。 |
1、sort() 函數(shù)
sort() 函數(shù)可以將數(shù)組進行升序排序(從小到大,由低到高),語法格式如下:
sort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),默認為“SORT_REGULAR”,用來定義函數(shù)排序的模式。$sort_flags 可以設(shè)置為下面這些值:
- 0 或 SORT_REGULAR:正常比較數(shù)組元素,不改變其類型(默認值);
- 1 或 SORT_NUMERIC:將數(shù)組元素當作數(shù)字來比較;
- 2 或 SORT_STRING:將數(shù)組元素當作字符串來比較
- 3 或 SORT_LOCALE_STRING:根據(jù)當前的區(qū)域(locale)設(shè)置來把數(shù)組元素當作字符串比較,可以用 setlocale() 來改變。
- 4 或 SORT_NATURAL:和 natsort() 類似對每個數(shù)組元素以“自然的順序”對字符串進行排序,是 PHP5.4.0 中新增的。
- 5 或 SORT_FLAG_CASE:能夠與 SORT_STRING 或 SORT_NATURAL 合并(OR 位運算),不區(qū)分大小寫排序字符串。
提示:sort() 函數(shù)會刪除 $array 中原有的鍵名并為其賦與新的鍵名,而不是僅僅將數(shù)組元素重新排序。函數(shù)執(zhí)行成功時會返回 TRUE,失敗時會返回 FALSE。
【示例】使用 sort() 函數(shù)對數(shù)組進行排序。
';
sort($num);
print_r($num);
$language = array(
'a' =>'http://c.biancheng.net/php/',
'b' =>'PHP',
'c' =>'Java',
'd' =>'Golang',
'e' =>'Python'
);
sort($language, SORT_FLAG_CASE);
print_r($language);
?>
運行結(jié)果如下:
Array
(
[0] => 5
[1] => 10
[2] => 12
[3] => 16
[4] => 23
[5] => 84
)
Array
(
[0] => Golang
[1] => Java
[2] => PHP
[3] => Python
[4] => http://c.biancheng.net/php/
)
需要注意的是,在對混合類型的數(shù)組進行排序時需要特別小心,sort() 函數(shù)很可能會返回一個不可預(yù)知的結(jié)果。
2、rsort() 函數(shù)
rsort() 函數(shù)同樣可以對數(shù)組進行升序排序(從小到大,由低到高),但它不會修改原數(shù)組中的鍵名。可以將 rsort() 函數(shù)看作是 sort() 函數(shù)的增強版。
rsort() 函數(shù)主要用于那些特別重視值和索引之間關(guān)系的數(shù)組,其語法格式如下:
asort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),用來定義函數(shù)排序的模式,默認值為“SORT_REGULAR”。$sort_flags 的取值與 sort() 函數(shù)中的 $sort_flags 參數(shù)相同。
【示例】使用 asort() 函數(shù)對數(shù)組進行排序。
'http://c.biancheng.net/php/',
'b' =>'PHP',
'c' =>'Java',
'd' =>'Golang',
'e' =>'Python'
);
echo '';
asort($language, SORT_FLAG_CASE);
print_r($language);
?>
運行結(jié)果如下:
Array
(
[d] => Golang
[c] => Java
[b] => PHP
[e] => Python
[a] => http://c.biancheng.net/php/
)
3、rsort() 函數(shù)
rsort() 函數(shù)函數(shù)可以對數(shù)組進行降序排序(從大到小,由高到低),與 sort() 函數(shù)類似 rsort() 函數(shù)也會刪除數(shù)組原有的鍵名,并為其重新賦值。其語法格式如下:
rsort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),用來定義函數(shù)排序的模式,默認值為“SORT_REGULAR”。$sort_flags 的取值與 sort() 函數(shù)中的 $sort_flags 參數(shù)相同。
【示例】使用 rsort() 函數(shù)對數(shù)組進行排序。
'Linux',
'b' =>'PHP',
'c' =>'Java',
'd' =>'Golang',
'e' =>'Python'
);
echo '';
rsort($language, 0);
print_r($language);
?>
運行結(jié)果如下:
Array
(
[0] => Python
[1] => PHP
[2] => Linux
[3] => Java
[4] => Golang
)
4、arsort() 函數(shù)
arsort() 函數(shù)可以對數(shù)組進行降序排序(從大到小,由高到低),但它不會修改原數(shù)組中的鍵名。與 rsort() 函數(shù)類似 arsort() 函數(shù)同樣適用于那些特別重視值和索引之間關(guān)系的數(shù)組,其語法格式如下:
arsort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),用來定義函數(shù)排序的模式,默認值為“SORT_REGULAR”。$sort_flags 的取值與 sort() 函數(shù)中的 $sort_flags 參數(shù)相同。
【示例】使用 arsort() 函數(shù)對數(shù)組進行排序。
'Linux',
'b' =>'PHP',
'c' =>'Java',
'd' =>'Golang',
'e' =>'Python'
);
echo '';
arsort($language, 0);
print_r($language);
?>
運行結(jié)果如下:
Array
(
[e] => Python
[b] => PHP
[a] => Linux
[c] => Java
[d] => Golang
)
5、ksort() 函數(shù)
ksort() 函數(shù)可以根據(jù)數(shù)組的鍵值對數(shù)組進行升序排序(從小到大,由低到高),不會修改數(shù)組的鍵名。該函數(shù)主要用于關(guān)聯(lián)數(shù)組,語法格式如下:
ksort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),用來定義函數(shù)排序的模式,默認值為“SORT_REGULAR”。$sort_flags 的取值與 sort() 函數(shù)中的 $sort_flags 參數(shù)相同。
【示例】使用 ksort() 函數(shù)對數(shù)組進行排序。
1234,
'url' => 'http://c.biancheng.net/php/',
'language' => 'PHP',
'article' => '數(shù)組排序函數(shù)'
);
echo '';
ksort($info, 0);
print_r($info);
?>
運行結(jié)果如下:
Array
(
[article] => 數(shù)組排序函數(shù)
[id] => 1234
[language] => PHP
[url] => http://c.biancheng.net/php/
)
6、krsort() 函數(shù)
krsort() 函數(shù)可以根據(jù)數(shù)組的鍵值對數(shù)組進行降序排序(從大到小,由高到低),不會修改數(shù)組的鍵名。該函數(shù)主要用于關(guān)聯(lián)數(shù)組,語法格式如下:
krsort($array [, $sort_flags = SORT_REGULAR])
參數(shù)說明如下:
- $array:為要排序的數(shù)組。
- $sort_flags:為可選參數(shù),用來定義函數(shù)排序的模式,默認值為“SORT_REGULAR”。$sort_flags 的取值與 sort() 函數(shù)中的 $sort_flags 參數(shù)相同。
【示例】使用 krsort() 函數(shù)對數(shù)組進行排序。
1234,
'url' => 'http://c.biancheng.net/php/',
'language' => 'PHP',
'article' => '數(shù)組排序函數(shù)'
);
echo '';
krsort($info, 0);
print_r($info);
?>
運行結(jié)果如下:
Array
(
[url] => http://c.biancheng.net/php/
[language] => PHP
[id] => 1234
[article] => 數(shù)組排序函數(shù)
)
文章名稱:PHP數(shù)組排序函數(shù)
分享網(wǎng)址:http://www.dlmjj.cn/article/dhdihpd.html


咨詢
建站咨詢
