欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2010年06月30日 15:52:38   作者:  
文章詳細的介紹了快速創(chuàng)建數組的函數range()和常見PHP數組排序的方法,希望對大家有幫助。

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

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

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

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


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函數相同。

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

函數:ksort(array, [sort type])
說明:根據關聯(lián)數組的關鍵字進行升序排序。參數使用見上面的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對應


快速創(chuàng)建數組的函數range()

比如range()函數可以快速創(chuàng)建從1到9的數字數組:
復制代碼 代碼如下:

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

當然,使用range(9,1)則創(chuàng)建了9到1的數字數組。同時,range()還可以創(chuàng)建從a到z 的字符數組:
復制代碼 代碼如下:

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


使用字符數組時注意大小寫,比如range(A,z)和range(a,Z)是不一樣的。range()函數還具有第三個參數,該參數的作用是設定步長,比如range(1,9,3)創(chuàng)建的數組元素是: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()函數是區(qū)分字母大小寫的(字母從大到小的順序是:A…Z…a…z)

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

<?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)。

相關文章

  • 深入掌握include_once與require_once的區(qū)別

    深入掌握include_once與require_once的區(qū)別

    要深入掌握include(_once)與require(_once),需要掌握以下幾點內容,不過有人建議不建議使用
    2013-06-06
  • php+xml實現在線英文詞典之添加詞條的方法

    php+xml實現在線英文詞典之添加詞條的方法

    這篇文章主要介紹了php+xml實現在線英文詞典之添加詞條的方法,接著上一篇的通過英文查詢漢字進一步完善了詞條的添加功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • 詳解php中curl返回false的解決辦法

    詳解php中curl返回false的解決辦法

    這篇文章主要介紹了php中curl返回false的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • php+Ajax處理xml與json格式數據的方法示例

    php+Ajax處理xml與json格式數據的方法示例

    這篇文章主要介紹了php+Ajax處理xml與json格式數據的方法,結合實例形式分析了ajax處理xml格式數據及json格式數據相關操作技巧與注意事項,需要的朋友可以參考下
    2019-03-03
  • php通過COM類調用組件的實現代碼

    php通過COM類調用組件的實現代碼

    COM(Component Object Model)組件對象模型,是一種跨應用和語言共享二進制代碼的方法。COM可以作為DLL被本機程序載入也可以通過DCOM被遠程進程調用
    2012-01-01
  • php基礎知識:類與對象(1)

    php基礎知識:類與對象(1)

    php基礎知識:類與對象(1)...
    2006-12-12
  • PHP編程一定要改掉的5個不良習慣

    PHP編程一定要改掉的5個不良習慣

    在項目的每一次提交之后,我都會進行大量代碼審查,會經??吹揭恍┲貜统霈F的錯誤。以下這五個錯誤應該要及時糾正,這是糾正它們的方法。
    2020-09-09
  • php多線程并發(fā)實現方法

    php多線程并發(fā)實現方法

    這篇文章主要介紹了php多線程并發(fā)實現方法,結合實例形式分析了php模擬多線程并發(fā)的相關操作技巧,以及在Linux平臺借助shell實現多線程并發(fā)的操作方法,需要的朋友可以參考下
    2016-09-09
  • PHP嚴重致命錯誤處理:php Fatal error: Cannot redeclare class or function

    PHP嚴重致命錯誤處理:php Fatal error: Cannot redeclare class or funct

    這篇文章主要介紹了PHP嚴重致命錯誤處理:php Fatal error: Cannot redeclare class or function,需要的朋友可以參考下
    2017-02-02
  • PHP使用CURL實現多線程抓取網頁

    PHP使用CURL實現多線程抓取網頁

    PHP 利用 Curl 可以完成各種傳送文件操作,比如模擬瀏覽器發(fā)送GET,POST請求等等,然而因為php語言本身不支持多線程,所以開發(fā)爬蟲程序效率并不高,不過可以用 Curl ,借助Curl 這個功能實現并發(fā)多線程的訪問多個url地址以實現并發(fā)多線程抓取網頁或者下載文件
    2015-04-04

最新評論