亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP中數組排序函數詳解

2024-09-04 11:46:23
字體:
來源:轉載
供稿:網友

1 數組被作為排序函數的參數,排序以后,數組本身就發生了改變,函數的返回值為bool類型.

2 函數名中出現單a表示association,含義為,在按值排序的過程中,保持key=>value的對應關系不變

3 函數名中出現單k表示key,含義為,在按值排序的過程中按照數組key而不是數組的值排序

4 函數名中出現單r的表示reverse,含義為,按照跟不加r的相反的順序排列

5 函數名中出現單u的表示user-defined,含義為,使用用戶自定義函數排序,如果函數的邏輯是參數1<參數2返回負數,則按照升序排列(p1小2返負升)。

sort函數升序排序,代碼如下:

  1. bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] ) 
  2. <?php 
  3. $fruits = array("lemon""orange""banana""apple"); 
  4. sort($fruits); 
  5. var_dump($fruits); 
  6.  
  7. //結果: 
  8. array 
  9. 0 => string 'apple' (length=5) 
  10. 1 => string 'banana' (length=6) 
  11. 2 => string 'lemon' (length=5) 
  12. 3 => string 'orange' (length=6) 

rsort降序排列,代碼如下:

  1. <?php 
  2. $fruits = array("lemon""orange""banana""apple"); 
  3. rsort($fruits); 
  4. var_dump($fruits); 
  5. ?> 
  6. //結果: 
  7. array 
  8. 0 => string 'orange' (length=6) 
  9. 1 => string 'lemon' (length=5) 
  10. 2 => string 'banana' (length=6) 
  11. 3 => string 'apple' (length=5) 

asort按照二維數組值的升序排列,保持key=>value的關聯關系,代碼如下:

  1. <?php 
  2. $fruits = array("d" => "lemon""a" => "orange""b" => "banana""c" => "apple"); 
  3. asort($fruits); 
  4. var_dump($fruits); 
  5. ?> 
  6. //結果: 
  7. array 
  8. 'c' => string 'apple' (length=5) 
  9. 'b' => string 'banana' (length=6) 
  10. 'd' => string 'lemon' (length=5) 
  11. 'a' => string 'orange' (length=6) 

arsort按照二維數組值的降序排列,保持key=>value的關聯關系,代碼如下:

  1. <?php 
  2. $fruits = array("d" => "lemon""a" => "orange""b" => "banana""c" => "apple"); 
  3. arsort($fruits); 
  4. var_dump($fruits); 
  5. ?> 
  6. //結果 
  7. array 
  8. 'a' => string 'orange' (length=6) 
  9. 'd' => string 'lemon' (length=5) 
  10. 'b' => string 'banana' (length=6) 
  11. 'c' => string 'apple' (length=5) 

ksort按照數組的key升序排列,代碼如下:

  1. <?php 
  2. $fruits = array("d"=>"lemon""a"=>"orange""b"=>"banana""c"=>"apple"); 
  3.  
  4. ksort($fruits); 
  5. var_dump($fruits); 
  6. ?> 
  7. //結果 
  8. array 
  9. 'a' => string 'orange' (length=6) 
  10. 'b' => string 'banana' (length=6) 
  11. 'c' => string 'apple' (length=5) 
  12. 'd' => string 'lemon' (length=5)

krsort按照數組key的降序排列,代碼如下:

  1. <?php 
  2. $fruits = array("d"=>"lemon""a"=>"orange""b"=>"banana""c"=>"apple"); 
  3. krsort($fruits); 
  4. var_dump($fruits); 
  5. ?> 
  6. //開源代碼Vevb.com 
  7. array 
  8. 'd' => string 'lemon' (length=5) 
  9. 'c' => string 'apple' (length=5) 
  10. 'b' => string 'banana' (length=6) 
  11. 'a' => string 'orange' (length=6) 

usort函數按照用戶自定義的函數排序,代碼如下:

  1. <?php 
  2. function cmp($a$b
  3. if ($a == $b) { 
  4. return 0; 
  5. return ($a < $b) ? -1 : 1; 
  6.  
  7. $a = array(3, 2, 5, 6, 1); 
  8.  
  9. usort($a"cmp"); 
  10.  
  11. var_dump($a); 
  12. ?> 
  13. //結果: 
  14. array 
  15. 0 => int 1 
  16. 1 => int 2 
  17. 2 => int 3 
  18. 3 => int 5 
  19. 4 => int 6 

uksort使用自定義函數按照數組的key排序,代碼如下:

  1. <?php 
  2. function cmp($a$b
  3. $a = preg_replace('@^(a|an|the) @'''$a); 
  4. $b = preg_replace('@^(a|an|the) @'''$b); 
  5. return strcasecmp($a$b); 
  6.  
  7. $a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4); 
  8.  
  9. uksort($a"cmp"); 
  10.  
  11. var_dump($a); 
  12. ?> 
  13. //結果: 
  14. array 
  15. 'an apple' => int 3 
  16. 'a banana' => int 4 
  17. 'the Earth' => int 2 
  18. 'John' => int 1 

uasort將數組用自定義函數按照value排序,保持索引關系不變,代碼如下:

  1. <?php 
  2. // Comparison function 
  3. function cmp($a$b) { 
  4. if ($a == $b) { 
  5. return 0; 
  6. return ($a < $b) ? -1 : 1; 
  7.  
  8. // Array to be sorted 
  9. $array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); 
  10. var_dump($array); 
  11.  
  12. // Sort and print the resulting array 
  13. uasort($array'cmp'); 
  14. var_dump($array); 
  15. ?> 
  16. //結果: 
  17. array 
  18. 'a' => int 4 
  19. 'b' => int 8 
  20. 'c' => int -1 
  21. 'd' => int -9 
  22. 'e' => int 2 
  23. 'f' => int 5 
  24. 'g' => int 3 
  25. 'h' => int -4 
  26. array 
  27. 'd' => int -9 
  28. 'h' => int -4 
  29. 'c' => int -1 
  30. 'e' => int 2 
  31. 'g' => int 3 
  32. 'a' => int 4 
  33. 'f' => int 5 
  34. 'b' => int 8 

array_multisort排序多個數組或多維數組,代碼如下:

  1. <?php 
  2. $ar = array
  3. array("10", 11, 100, 100, "a"), 
  4. array( 1, 2, "2", 3, 1) 
  5. ); 
  6.  
  7. array_multisort($ar[0], SORT_ASC, SORT_STRING, 
  8. $ar[1], SORT_NUMERIC, SORT_DESC); 
  9. var_dump($ar); 
  10. ?> 
  11. //結果: 
  12. array 
  13. 0 =>  
  14. array 
  15. 0 => string '10' (length=2) 
  16. 1 => int 100 
  17. 2 => int 100 
  18. 3 => int 11 
  19. 4 => string 'a' (length=1) 
  20. 1 =>  
  21. array 
  22. 0 => int 1 
  23.  
  24.  
  25. 1 => int 3 
  26. 2 => string '2' (length=1) 
  27. 3 => int 2 
  28. 4 => int 1 

說明:

1 上例中:$ar數組優先按照$ar[0]的字符串值升序排列,如果字符串值相等,再按照$ar[1]數組的數字值降序排列.

2 array_multisort函數的任意一個位置的參數如果是數組,表示排序時用的值,如果有多個數組參數,優先按照前邊的數組值進行排序,如果是常量,例如

SORT_ASC,SORT_DESC,SORT_REGULAR,SORT_NUMERIC,SORT_STRING.

表示排序方法,數組取值前優先.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久高潮| 国产69精品久久久| 一区二区欧美日韩视频| 国产精品三级久久久久久电影| 欧美激情国产精品| 精品久久久91| 亚洲国产一区二区三区在线观看| 最近2019中文免费高清视频观看www99| 国产91精品久久久久久| 深夜福利91大全| 日韩精品在线观看视频| 欧美日韩国产精品一区二区不卡中文| 97在线观看视频| 国产精品午夜国产小视频| 亚洲色图综合网| 欧美韩国理论所午夜片917电影| 奇米一区二区三区四区久久| 亚洲综合色激情五月| 日韩成人在线视频| 欧美大胆a视频| 97**国产露脸精品国产| 这里只有精品视频| 日韩av大片免费看| 日韩专区在线观看| 久久激情五月丁香伊人| y97精品国产97久久久久久| 狠狠做深爱婷婷久久综合一区| 尤物yw午夜国产精品视频明星| 欧美激情综合色综合啪啪五月| 欧美日韩亚洲天堂| 中文字幕亚洲天堂| 国语对白做受69| 亚洲国语精品自产拍在线观看| 国产精品久久久久77777| 亚洲成在人线av| 亚洲丝袜在线视频| 欧美激情喷水视频| 亚洲第一精品福利| 日本亚洲欧洲色α| 欧美极品少妇xxxxⅹ裸体艺术| 日韩免费在线免费观看| 在线观看成人黄色| 92裸体在线视频网站| 一区二区在线免费视频| 国产精品美女免费视频| 亚洲mm色国产网站| 国产97免费视| 久久久久久欧美| 一本一本久久a久久精品牛牛影视| 精品一区精品二区| 亚洲日本欧美中文幕| 色综合天天狠天天透天天伊人| 久久久久久欧美| 中文字幕无线精品亚洲乱码一区| 精品成人久久av| 日韩在线免费视频观看| 91久久精品视频| 国产xxx69麻豆国语对白| 亚洲在线www| 精品国产户外野外| 欧美性猛交99久久久久99按摩| 91精品免费久久久久久久久| 日韩av在线免费看| 欧美亚洲国产视频| 国产精品狠色婷| 国产亚洲xxx| 成人97在线观看视频| 国产精品女人网站| 日韩视频一区在线| 欧美成年人网站| 欧美性色视频在线| 黄色一区二区三区| 这里只有精品在线观看| 日韩av成人在线| 岛国精品视频在线播放| 日韩av电影免费观看高清| 亚洲激情视频网站| 久久99热精品| 色婷婷av一区二区三区久久| 日韩成人av网址| 中文字幕欧美精品在线| 日韩中文视频免费在线观看| 亚洲一区二区黄| 福利视频一区二区| 日韩经典中文字幕在线观看| 亚洲精品大尺度| 2025国产精品视频| 91久久久久久国产精品| 亚洲人成77777在线观看网| 欧美性猛xxx| 久久精品亚洲一区| 操日韩av在线电影| 欧美极品少妇xxxxⅹ裸体艺术| 国产日韩欧美电影在线观看| 国产欧美精品一区二区| 91亚洲精华国产精华| 亚洲第一级黄色片| 亚洲人成电影在线观看天堂色| 亚洲精品福利免费在线观看| 国产欧美最新羞羞视频在线观看| 国产精品精品一区二区三区午夜版| 欧美日本高清视频| 欧美激情国产精品| 欧美日韩国产丝袜另类| 美日韩精品视频免费看| 91精品国产自产在线老师啪| 日韩成人在线免费观看| 欧美激情视频给我| 欧美性生交大片免费| 亚洲国产成人精品一区二区| 91免费视频国产| 精品动漫一区二区三区| 久久九九亚洲综合| 国产精品无码专区在线观看| 国产精品扒开腿做爽爽爽的视频| 精品二区三区线观看| 国产精品国产三级国产aⅴ浪潮| 国产精品久久久久久久久免费| 国产精选久久久久久| 国产成人精品av在线| 日韩精品极品视频免费观看| 日本成人在线视频网址| 亚洲一区中文字幕在线观看| 亚洲美女黄色片| 欧美国产高跟鞋裸体秀xxxhd| 欧美—级高清免费播放| 国产精品爽爽爽爽爽爽在线观看| 亚洲欧美日韩在线高清直播| 亚洲国产精品99| 日产精品99久久久久久| 亚洲第一av在线| 亚洲视频axxx| 亚洲国产欧美一区二区三区同亚洲| 久久亚洲影音av资源网| 亚洲欧美激情在线视频| 日韩hd视频在线观看| 亚洲国语精品自产拍在线观看| 成人免费视频xnxx.com| 欧美日韩中文字幕日韩欧美| 亚洲欧美国产精品久久久久久久| 亚洲欧美日韩国产中文| 亚洲精品国产欧美| 国产精品福利在线观看| 91日韩在线视频| 国产精品91久久久| 国内精品久久久久伊人av| 欧美精品免费播放| 亚洲欧洲一区二区三区在线观看| 国产午夜精品全部视频在线播放| 国产91精品久久久| 国产精品啪视频| 国产欧美韩国高清| 久久中文字幕在线| 亚洲丝袜一区在线| 九九久久综合网站| 日韩精品极品视频免费观看| 亚洲人成网7777777国产| 成人黄色av免费在线观看| 亚洲视屏在线播放| 国产精品美乳在线观看| 国产精品免费在线免费| 日韩中文字幕在线免费观看| 伦伦影院午夜日韩欧美限制| 91高潮精品免费porn|