国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php數組排序usort、uksort與sort函數用法

2024-05-04 23:27:28
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php數組排序usort、uksort與sort函數用法,詳細介紹了usort、uksort與sort函數在數組排序中的應用,具有不錯的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php數組排序usort、uksort與sort函數用法。分享給大家供大家參考。具體用法分析如下:

對數組排序:usort() 函數使用用戶自定義的函數對數組排序,實例代碼如下:

復制代碼代碼如下:
function cmp($a, $b)        //用戶自定義回調函數 

  if($a==$b)         //如果兩個參數相等 
  { 
    return 0;         //返回0 
  } 
  return($a>$b)?-1:1;       //如果第1個參數大于第2個返回1,否則-1 

$a=array(3,2,5,6,1);        //定義一個數組 
usort ($a,"cmp");        //使用自定義函數對數組排序 
foreach($a as $key=>$value)      //循環輸出排序后的鍵值對 

  echo "$key:$valuen"; 
}

注釋:如果兩個元素比較結果相同,則它們在排序后的數組中的順序未經定義,到 php 4.0.6 之前,用戶自定義函數將保留這些元素的原有順序,但是由于在 4.1.0 中引進了新的排序算法,結果將不是這樣了,因為對此沒有一個有效的解決方案.

 

對數組鍵名排序 uksort(array,sorttype),實例代碼如下:

復制代碼代碼如下:
function cmp($a, $b)        //用戶自定義回調函數 

  if($a==$b)         //如果兩個參數相等 
  { 
    return 0;         //返回0 
  } 
  return($a>$b)?-1:1;       //如果第1個參數大于第2個返回1,否則-1 

$a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定義一個數組 
uksort ($a,"cmp");        //使用自定義函數對數組鍵名排序 
foreach($a as $key=>$value)      //循環輸出排序后的鍵值對 
{
  echo "$key:$valuen"; 
}

uksort() 函數使用用戶自定義的比較函數按照鍵名對數組排序,并保持索引關系,如果成功則返回 true,否則返回 false.

 

如果要排序的數組需要用一種不尋常的標準進行排序,那么應該使用此函數,自定義函數應接受兩個參數,該參數將被數組中的一對鍵名填充,比較函數在第一個參數小于,等于,或大于第二個參數時必須分別返回一個小于零,等于零,或大于零的整數.

sort() 函數按升序對給定數組的值排序.

注釋:本函數為數組中的單元賦予新的鍵名,原有的鍵名將被刪除,如果成功則返回 true,否則返回 false,實例代碼如下:

復制代碼代碼如下:
$fruits=array("lemon","orange","banana","apple");    //定義一個數組 
sort($fruits);           //對數組進行排序 
foreach($fruits as $key=>$val)        //循環輸出數組排序后的鍵值對 

  echo "$key=$valn";         //輸出鍵值對 
}

 

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祁门县| 广水市| 江达县| 基隆市| 汶上县| 临夏市| 新河县| 交城县| 东山县| 林口县| 邵武市| 城固县| 旺苍县| 松原市| 奎屯市| 禄劝| 云龙县| 资源县| 金乡县| 鲜城| 永定县| 陇川县| 万宁市| 布尔津县| 姜堰市| 大渡口区| 延长县| 麟游县| 清苑县| 思茅市| 务川| 噶尔县| 桑植县| 于都县| 东明县| 华亭县| 云龙县| 沈丘县| 建始县| 响水县| 公主岭市|