亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > PHP常見數(shù)組排序方法小結

PHP常見數(shù)組排序方法小結

熱門標簽:合肥企業(yè)外呼系統(tǒng)線路 桂陽公司如何做地圖標注 電信外呼系統(tǒng)多少錢一個月 神龍斗士電話機器人 企業(yè)400電話辦理多少費用 太原400電話申請流程 代理打電話機器人 宿州正規(guī)外呼系統(tǒng)軟件 萍鄉(xiāng)商鋪地圖標注

本文實例講述了PHP常見數(shù)組排序方法。

一、數(shù)組操作的基本函數(shù)

數(shù)組的鍵名和值
array_values($arr); 獲得數(shù)組的值
array_keys($arr); 獲得數(shù)組的鍵名
array_flip($arr); 數(shù)組中的值與鍵名互換(如果有重復前面的會被后面的覆蓋)
in_array("apple",$arr); 在數(shù)組中檢索apple
array_search("apple",$arr); 在數(shù)組中檢索apple ,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數(shù)組中
isset($arr[apple]): 檢索給定的鍵名是否存在數(shù)組中

數(shù)組的內部指針
current($arr); 返回數(shù)組中的當前單元
pos($arr); 返回數(shù)組中的當前單元
key($arr); 返回數(shù)組中當前單元的鍵名
prev($arr); 將數(shù)組中的內部指針倒回一位
next($arr); 將數(shù)組中的內部指針向前移動一位
end($arr); 將數(shù)組中的內部指針指向最后一個單元
reset($arr; 將數(shù)組中的內部指針指向第一個單元
each($arr); 將返回數(shù)組當前元素的一個鍵名/值的構造數(shù)組,并使數(shù)組指針向前移動一位
list($key,$value)=each($arr); 獲得數(shù)組當前元素的鍵名和值

數(shù)組和變量之間的轉換
extract($arr);用于把數(shù)組中的元素轉換成變量導入到當前文件中,鍵名當作變量名,值作為變量值
注:(第二個參數(shù)很重要,可以看手冊使用)使用方法 echo $a;
compact(var1,var2,var3);用給定的變量名創(chuàng)建一個數(shù)組

二、數(shù)組的分段和填充

數(shù)組的分段
array_slice($arr,0,3); 可以將數(shù)組中的一段取出,此函數(shù)忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數(shù)組中的一段取出,與上個函數(shù)不同在于返回的序列從原數(shù)組中刪除

分割多個數(shù)組
array_chunk($arr,3,TRUE); 可以將一個數(shù)組分割成多個,TRUE為保留原數(shù)組的鍵名

數(shù)組的填充
array_pad($arr,5,'x'); 將一個數(shù)組填補到制定長度

三、數(shù)組與棧

array_push($arr,"apple","pear"); 將一個或多個元素壓入數(shù)組棧的末尾(入棧),返回入棧元素的個數(shù)
array_pop($arr); 將數(shù)組棧的最后一個元素彈出(出棧)

四、數(shù)組與列隊

array_shift($arr);數(shù)組中的第一個元素移出并作為結果返回(數(shù)組長度減1,其他元素向前移動一位,數(shù)字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數(shù)組的開頭插入一個或多個元素

五、回調函數(shù)

array_walk($arr,'function','words'); 使用用戶函數(shù)對數(shù)組中的每個成員進行處理(第三個參數(shù)傳遞給回調函數(shù)function)
array_mpa("function",$arr1,$arr2); 可以處理多個數(shù)組(當使用兩個或更多數(shù)組時,他們的長度應該相同)
array_filter($arr,"function"); 使用回調函數(shù)過濾數(shù)組中的每個元素,如果回調函數(shù)為TRUE,數(shù)組的當前元素會被包含在返回的結果數(shù)組中,數(shù)組的鍵名保留不變
array_reduce($arr,"function","*"); 轉化為單值函數(shù)(*為數(shù)組的第一個值)

六、數(shù)組的排序

通過元素值對數(shù)組排序
sort($arr); 由小到大的順序排序(第二個參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序
rsort($arr); 由大到小的順序排序(第二個參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序
usort($arr,"function"); 使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序(function中有兩個參數(shù),0表示相等,正數(shù)表示第一個大于第二個,負數(shù)表示第一個小于第二個)忽略鍵名的數(shù)組排序
asort($arr); 由小到大的順序排序(第二個參數(shù)為按什么方式排序)保留鍵名的數(shù)組排序
arsort($arr); 由大到小的順序排序(第二個參數(shù)為按什么方式排序)保留鍵名的數(shù)組排序
uasort($arr,"function"); 使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序(function中有兩個參數(shù),0表示相等,正數(shù)表示第一個大于第二個,負數(shù)表示第一個小于第二個)保留鍵名的數(shù)組排序

通過鍵名對數(shù)組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
uksort($arr,"function"); 使用用戶自定義的比較函數(shù)對數(shù)組中的鍵名進行排序(function中有兩個參數(shù),0表示相等,正數(shù)表示第一個大于第二個,負數(shù)表示第一個小于第二個)

自然排序法排序

natsort($arr); 自然排序(忽略鍵名)
natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)

七、數(shù)組的計算

數(shù)組元素的求和
array_sum($arr); 對數(shù)組內部的所有元素做求和運算

數(shù)組的合并
array_merge($arr1,$arr2); 合并兩個或多個數(shù)組(相同的字符串鍵名,后面的覆蓋前面的,相同的數(shù)字鍵名,后面的不會做覆蓋操作,而是附加到后面)
“+”$arr1+$arr2; 對于相同的鍵名只保留后一個
array_merge_recursive($arr1,$arr2); 遞歸合并操作,如果數(shù)組中有相同的字符串鍵名,這些值將被合并到一個數(shù)組中去。如果一個值本身是一個數(shù)組,將按照相應的鍵名把它合并為另一個數(shù)組。當數(shù)組 具有相同的數(shù)組鍵名時,后一個值將不會覆蓋原來的值,而是附加到后面

數(shù)組的差集
array_diff($arr1,$arr2); 返回差集結果數(shù)組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數(shù)組,鍵名也做比較

數(shù)組的交集
array_intersect($arr1,$arr2); 返回交集結果數(shù)組
array_intersect_assoc($arr1,$arr2); 返回交集結果數(shù)組,鍵名也做比較

八、其他的數(shù)組函數(shù)

range(0,12); 創(chuàng)建一個包含指定范圍單元的數(shù)組
array_unique($arr); 移除數(shù)組中重復的值,新的數(shù)組中會保留原始的鍵名
array_reverse($arr,TRUE); 返回一個單元順序與原數(shù)組相反的數(shù)組,如果第二個參數(shù)為TRUE保留原來的鍵名
//srand((float)microtime()*10000000); 隨機種子觸發(fā)器
array_rand($arr,2); 從數(shù)組中隨機取出一個或 多個元素
shuffle($arr); 將數(shù)組的順序打亂

分類: 整理分享給大家供大家參考,具體如下:

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

bool sort(array array [,int sort_flags]

bool rsort(array array [.int_sort_flags]

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

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

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

示例:

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

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

ksort() 函數(shù)按照鍵名對數(shù)組進行有小到大的排序。 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ù)組下標

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

4.自然排序

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

示例:

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

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

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

自定義回調函數(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);

輸出如下:

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

PS:這里再為大家推薦一款關于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》及《PHP常用遍歷算法與技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP 數(shù)組排序方法總結 推薦收藏
  • php中二維數(shù)組排序問題方法詳解
  • array_multisort實現(xiàn)PHP多維數(shù)組排序示例講解
  • php簡單實現(xiàn)多維數(shù)組排序的方法
  • PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
  • php不用內置函數(shù)對數(shù)組排序的兩個算法代碼
  • php 數(shù)組排序 array_multisort與uasort的區(qū)別
  • php關于array_multisort多維數(shù)組排序的使用說明
  • PHP數(shù)組排序之sort、asort與ksort用法實例
  • PHP 簡單數(shù)組排序實現(xiàn)代碼

標簽:衡陽 太原 崇左 綏化 辛集 白銀 鄂州 廊坊

巨人網(wǎng)絡通訊聲明:本文標題《PHP常見數(shù)組排序方法小結》,本文關鍵詞  PHP,常見,數(shù)組,排序,方法,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP常見數(shù)組排序方法小結》相關的同類信息!
  • 本頁收集關于PHP常見數(shù)組排序方法小結的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲第一色在线| 日本伦理网站| 沈樵在线观看福利| 国产一区二区精品久久91| 精品视频一区二区| 成人在免费观看视频国产| 国产a毛片| 成人免费观看网欧美片| 高清一级做a爱过程不卡视频| 精品国产香蕉伊思人在线又爽又黄| 精品久久久久久综合网| 欧美另类videosbestsex| 国产高清在线精品一区二区| 精品国产一区二区三区久久久蜜臀| 久久国产一久久高清| 亚洲精品久久久中文字| 精品国产一区二区三区国产馆| 国产91丝袜高跟系列| 国产视频一区二区三区四区| 一级毛片看真人在线视频| 精品国产三级a| 成人高清免费| 青青久久精品| 国产成a人片在线观看视频 | 高清一级毛片一本到免费观看| 成人a大片在线观看| 欧美另类videosbestsex视频 | 亚飞与亚基在线观看| 成人a大片高清在线观看| 韩国三级视频网站| 国产伦久视频免费观看视频| 九九九在线视频| 九九九在线视频| 欧美a级成人淫片免费看| 黄视频网站在线看| 国产成人精品综合| 国产极品白嫩美女在线观看看| 香蕉视频亚洲一级| 欧美激情伊人| 你懂的在线观看视频| 午夜欧美福利| 欧美电影免费看大全| 国产视频网站在线观看| 久草免费在线观看| 久久国产一区二区| 欧美国产日韩在线| 美女免费精品视频在线观看| 尤物视频网站在线观看| 久久精品店| 成人免费观看视频| 精品国产一级毛片| 国产高清在线精品一区a| 精品视频在线观看一区二区| 精品在线观看一区| 九九干| 沈樵在线观看福利| 欧美a级片免费看| 欧美国产日韩在线| 日韩在线观看视频黄| 久久久久久久免费视频| 高清一级淫片a级中文字幕 | 成人免费福利片在线观看| 91麻豆精品国产自产在线 | 午夜在线观看视频免费 成人| 国产麻豆精品| 国产一区二区精品久久91| 国产91视频网| 日韩免费片| 亚欧乱色一区二区三区| 成人免费一级毛片在线播放视频| 999久久久免费精品国产牛牛| 一级女性全黄久久生活片| 国产不卡在线播放| 日韩免费在线| 久久久久久久久综合影视网| 国产不卡精品一区二区三区| 国产伦理精品| 国产极品白嫩美女在线观看看| 欧美一区二区三区性| 亚洲wwwwww| 尤物视频网站在线| 久久成人综合网| 精品视频在线看| 国产成人啪精品视频免费软件| 欧美国产日韩久久久| a级毛片免费观看网站| 欧美激情伊人| 一级女性全黄生活片免费| 久久国产精品永久免费网站| 日本伦理网站| 国产激情一区二区三区| 欧美α片无限看在线观看免费| 国产麻豆精品hdvideoss| 国产麻豆精品hdvideoss| 亚洲第一页色| 91麻豆精品国产自产在线观看一区 | 韩国毛片免费| 免费一级片在线| 日本免费看视频| 久久国产精品永久免费网站| 日日日夜夜操| 麻豆网站在线看| 一本伊大人香蕉高清在线观看| 日日爽天天| 久久国产一久久高清| 精品视频一区二区三区免费| 免费的黄色小视频| 日日日夜夜操| 久久精品大片| 中文字幕一区二区三区 精品| 一级片免费在线观看视频| 亚洲第一页色| 一级片片| 九九九网站| 精品国产一级毛片| 国产不卡高清| 你懂的日韩| 免费一级生活片| 二级片在线观看| 国产一区免费在线观看| 日本特黄特黄aaaaa大片| 高清一级淫片a级中文字幕 | 黄色免费三级| 欧美日本免费| 精品国产一区二区三区久久久蜜臀 | 黄视频网站在线看| 亚洲天堂一区二区三区四区| 国产a视频| 欧美一级视频免费观看| 国产激情视频在线观看| 国产一区免费观看| 黄视频网站免费看| 91麻豆精品国产高清在线| 你懂的在线观看视频| 九九九在线视频| 国产极品白嫩美女在线观看看| 午夜在线影院| 亚洲天堂免费| 日本在线www| 国产不卡福利| a级精品九九九大片免费看| 免费一级片在线| 沈樵在线观看福利| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品久久久久久中文字幕一区| 久久国产精品永久免费网站| 可以免费看毛片的网站| 精品久久久久久综合网| 亚洲天堂在线播放| 欧美电影免费看大全| 日韩在线观看免费完整版视频| 九九久久国产精品大片| 精品视频免费在线| 麻豆系列 在线视频| 久久福利影视| 午夜精品国产自在现线拍| 国产一区二区精品久久| 99色视频| 欧美另类videosbestsex视频| 国产网站麻豆精品视频| 国产视频网站在线观看| 毛片高清| 国产精品12| 午夜精品国产自在现线拍| 欧美另类videosbestsex视频 | 香蕉视频一级| 国产麻豆精品视频| 久久99这里只有精品国产| 国产亚洲免费观看| 黄色短视屏| 精品视频在线观看一区二区三区| 久久精品店| 99久久精品国产免费| 成人免费观看男女羞羞视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲天堂一区二区三区四区| 国产一级生活片| 国产网站麻豆精品视频| 欧美a级成人淫片免费看| 精品视频一区二区| 久久精品成人一区二区三区| 欧美α片无限看在线观看免费| 日韩欧美一二三区| 在线观看导航| 一级毛片视频播放| 久草免费资源| 日韩一级黄色大片| 人人干人人插| 欧美激情影院| 成人免费高清视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 黄视频网站在线看| 高清一级片| 欧美激情影院| 成人a大片高清在线观看| 成人免费观看网欧美片| 天天色成人网| 999精品影视在线观看| 91麻豆精品国产综合久久久| 九九热国产视频|