溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP常見數(shù)組排序方法有哪些

發(fā)布時間:2020-12-16 10:43:23 來源:億速云 閱讀:160 作者:小新 欄目:編程語言

這篇文章主要介紹PHP常見數(shù)組排序方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.簡單數(shù)組排序 sort() 函數(shù)和rsort() 函數(shù):

語法規(guī)則:

bool sort(array &array [,int sort_flags]
bool rsort(array &array [.int_sort_flags]

參數(shù):

  第一個參數(shù)是排序數(shù)組對象

  第二個參數(shù)是可以選的 可選值:

    SORT_REGULAR:是默認(rèn)值,將自動識別數(shù)組的元素類型進(jìn)行排序
    SORT_NUMERIC:用于數(shù)組元素排序
    SORT_STRING:用于字符串排序
    SORT_LOCALE_STRING:根據(jù)當(dāng)前的locale設(shè)置來把元素當(dāng)作字符串比較

示例:

$a=array(4,7,9,1);
sort($a);
pirnt_r($a);
rsort($a);
print_r($a);

2.根據(jù)鍵名對數(shù)組排序

定義: ksort() 函數(shù)按照鍵名對數(shù)組進(jìn)行有小到大的排序。 krsort()ksort()函數(shù)相反,排序后為數(shù)組值保持原來的鍵。

示例

$data= array(5=>"five",8=>"eight",1=>"one",7=>"seven");
ksrot($data);
print_r($data);
krsot($data);
print_r($data);

3.根據(jù)元素值排序

定義 : asort() 從小到大 /  arsort() 從大到小,用這個函數(shù)排序,原始鍵名將被忽略,使用依次數(shù)字重新索引數(shù)組下標(biāo)

示例 :

$data=array("a"=>1,"b"=>2,"c"=>3);
asort($data);
print_r($data);
arsort($data);
print_r($data);

4.自然排序

定義 : 是個非常特殊的排序方式,這種方式使用認(rèn)知而不是使用計算規(guī)則,這種特性稱為——自然排序法,即數(shù)字從1到9,字母從a-z,短者優(yōu)先。

示例 :

$data=array("file1.txt","file11.txt","file111.txt");
natsort($data);//普通自然排序
natcasesort($data);//忽略大小寫

5.根據(jù)用戶自定義排序規(guī)則

語法規(guī)則 :

bool usort(array &array ,callback cmp_function)
bool uasort(array &array,callback cmp_function)
bool uksort(array &array,callback cmp_function)

說明 : 自定義回調(diào)函數(shù),需要兩個參數(shù),分別是數(shù)組兩個連續(xù)元素,比較第一個參數(shù)小于,大于,等于第二個參數(shù)是分別返回 0,1,-1

示例 :

$data= array("ab","abc","a","ac","abcd");
usrot($data,"mysortByLen");
function mysortByLen($one,$two){
 if(strlen($one)== strlen($two)){
  return 0;
 }else{
 return (strlen($one)>strlen($two))?1:-1;
}

6.多維數(shù)組排序

定義 : array_multisort()函數(shù)對多個數(shù)組排序,或者根據(jù)某一維或多維對多維數(shù)組排序。

bool array_multisort(array array1 [,mixed arg,[,array ....]])

示例:

$data=array(
  array("id"=>1,"name"=>4),
  array("id"=>1,"name"=>2),
  array("id"=>2,"name"=>3)
);
foreach($data as $key=>$value){
 $ids[$key]=$value["id"];
 $names[$key]=$value["name"]
}
array_multisort($data,$ids,$names);
print_r($data);

輸出結(jié)果:

array(    array("id"=>1,"name"=>2),    array("id"=>1,"name"=>4),    array("id"=>2,"name"=>3)
 );

以上是“PHP常見數(shù)組排序方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI