一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP 數組排序方法總結 推薦收藏

PHP 數組排序方法總結 推薦收藏

2019-11-03 19:29php教程網 PHP教程

文章詳細的介紹了快速創建數組的函數range()和常見PHP數組排序的方法,希望對大家有幫助。

隨著PHP的快速發展,用它的人越來越多,在PHP數組學習摘錄部分了解到最基本的PHP數組的建立和數組元素的顯示。需要深入學習下PHP數組的相關操作。首先接觸的就是PHP數組排序、降序的排序問題。

sort:本函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。 
rsort:本函數對數組進行逆向排序(最高到最低)。 刪除原有的鍵名而不僅是重新排序。 
asort:對數組進行排序并保持索引關系 
arsort:對數組進行逆向排序并保持索引關系 

ksort:對數組按照鍵名排序,保留鍵名到數據的關聯 
krsort:對數組按照鍵名逆向排序,保留鍵名到數據的關聯 

natsort:對字母數字字符串進行排序并保持原有鍵/值的關聯 
natcasesort:同natsort排序算法,但不區分大小寫字母排序 


PHP 數組排序(sort) 
數字索引數組排序: 
函數:sort(array, [sort type]) 
說明:sort()函數按升序對指定數組(第一個參數)進行排序。 
sort函數第二參數作用為指定排序類型,是可選參數,可能的值為: 
SORT_REGULAR: 默認值,不改變類型進行排序; 
SORT_NUMERIC: 把值作為數字進行排序; 
SORT_STRING: 把值作為字符串進行排序; 
如數組中有4和”37″,按數字排序,4小于”37″;按字符串排序,4大于”37″; 
 

復制代碼代碼如下:

<?php 
$a = array(4,"37",3,100,0,-5); 
sort($a); 
for ($i=0; $i<6; ++$i){ 
echo $a[$i]." "; 

echo "<br />"; 
sort($a,SORT_STRING); 
for ($i=0; $i<6; ++$i){ 
echo $a[$i]." "; 

echo "<br />"; 
?> 


輸出結果: 

-5 0 3 4 37 100 
-5 0 100 3 37 4 

降序排序:rsort(array, [sort type]) 
參數用法與sort函數相同。 

關聯數組排序: 
函數:asort(array, [sort type]) 
說明:根據關聯數組的元素值進行升序排序。參數使用見上面的sort函數。 

函數:ksort(array, [sort type]) 
說明:根據關聯數組的關鍵字進行升序排序。參數使用見上面的sort函數。 
 

復制代碼代碼如下:

<?php 
$a = array( 
"good" => "bad", 
"right" => "wrong", 
"boy" => "girl"); 

echo "value sort<br />"; 
asort($a); 
foreach($a as $key => $value){ 
echo "$key : $value<br />"; 


echo "<br />key sort<br />"; 
ksort($a); 
foreach($a as $key => $value){ 
echo "$key : $value<br />"; 

?> 


輸出結果: 

value sort 
good : bad 
boy : girl 
right : wrong 

key sort 
boy : girl 
good : bad 
right : wrong 
降序排序: 
arsort(array, [sort type]) 與 asort對應 
krsort(array, [sort type]) 與 ksort對應 


快速創建數組的函數range() 

比如range()函數可以快速創建從1到9的數字數組: 

復制代碼代碼如下:

<?php 
$numbers=range(1,9); 
echo $numbers[1]; 
?> 


當然,使用range(9,1)則創建了9到1的數字數組。同時,range()還可以創建從a到z 的字符數組: 

復制代碼代碼如下:

<?php 
$numbers=range(a,z); 
foreach ($numbers as $mychrs) 
echo $mychrs." "; 
?> 



使用字符數組時注意大小寫,比如range(A,z)和range(a,Z)是不一樣的。range()函數還具有第三個參數,該參數的作用是設定步長,比如range(1,9,3)創建的數組元素是:1、4、7。常見PHP數組排序一般數組中的各元素均以字符或數字表現的,所以可對數組元素進行升序排列,該功能函數為sort()。比如: 

復制代碼代碼如下:

<?php 
$people=array('name','sex','nation','birth'); 
foreach ($people as $mychrs) 
echo $mychrs." "; 
sort($people); 
echo "<br />---排序后---<br />"; 
foreach ($people as $mychrs) 
echo $mychrs." "; 
?> 


升序排序后的數組元素顯示為 birth name nation sex,當然,sort()函數是區分字母大小寫的(字母從大到小的順序是:A…Z…a…z) 

Sort()函數還具有第二參數,用來說明PHP數組排序升序的規則是用來比較數字還是字符串的。比如: 

復制代碼代碼如下:

<?php 
echo "---按數字升序排序---<br />"; 
$num2=array('26','3',); 
sort($num2,SORT_NUMERIC); 
foreach ($num2 as $mychrs) 
echo $mychrs." "; 
echo "<br />---按字符升序排序---<br />"; 
$num3=array('26','3'); 
sort($num3,SORT_STRING); 
foreach ($num3 as $mychrs) 
echo $mychrs." "; 
?> 


SORT_NUMERIC和SORT_STRING用來聲明按數字或字符的升序排列。如果按照數字升序排列是:3,26;但如果按照字符升序排列則是:26,3了。PHP中除了升序函數以外,還有降序或稱反向排列的函數,就是rsort()函數,比如:$num1=range(1,9);rsort($num1);這里其實就相當于range(9,1)。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费三及片 | 亚洲国产午夜看片 | 女人肮脏的交易中文字幕未删减版 | 无人区尖叫之夜美女姐姐视频 | 青青草国产精品久久久久 | 亚洲视频一区在线播放 | 国产亚洲精品精品国产亚洲综合 | 韩国美女豪爽一级毛片 | 久久中文字幕免费高清 | 国产一区二区视频在线播放 | chinese一bdsmⅹxx chinese帅男gayvideo | a级毛片毛片免费很很综合 a级黄色视屏 | 日本无吗免费一二区 | 国内精品久久久久久中文字幕 | 欧美另类69xxx | 日韩在线观看免费 | 免费看黄色片的网站 | 把美女屁股眼扒开图片 | 欧美成人tv在线观看免费 | 国产午夜亚洲精品一区网站 | 国内精品久久久久久久久 | 91热爆| 大奶喷水 | 国产午夜成人无码免费看 | 精品日产1区2卡三卡麻豆 | 日本大学jalapsiki | 日出水了特别黄的视频 | 香蕉视频在线观看网址 | 亚洲a视频在线 | 500第一精品 | 亚欧精品在线观看 | 黑人粗长大战亚洲女 | 精品午夜中文字幕熟女人妻在线 | 九九热在线视频观看这里只有精品 | 热巴在公交车h文 | 国产欧美一区二区精品性色99 | 精品99一区二区三区麻豆 | 亚洲欧美日韩国产一区二区精品 | 国产a免费观看 | 99网站在线观看 | 国产精品免费看久久久香蕉 |