日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP數(shù)組排序函數(shù)
在使用 php 進行編程時,有時需要對數(shù)組進行排序,通常我們使用的對數(shù)組進行排序的方法有冒泡排序、快速排序等等。

成都創(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