usort

usort() 函式使用用戶自定義的函式對數組排序。

基本介紹

  • 中文名:使用用戶自定義的函式對數組排序
  • 外文名:usort
  • 性質:鍵名
  • 賦予array
  • array:必需。規定要排序的數組。
定義和用法,語法,例子,實例,

定義和用法

注釋:如果兩個元素比較結果相同,則它們在排序後的數組中的順序未經定義。到 PHP 4.0.6 之前,用戶自定義函式將保留這些元素的原有順序。但是由於在 4.1.0 中引進了新的排序算法,結果將不是這樣了,因為對此沒有一個有效的解決方案。
注釋:本函式為 array中的元素賦予新的鍵名。這會刪除原有的鍵名。

語法

usort(array,sorttype)
參數
描述
array
必需。規定要排序的數組。
function
必需。用戶自定義的函式。
函式必須設計為返回 -1, 0, 或 1,並應該接受兩個供比較的參數,同時以類似下面這樣的方式來工作:
如果 a = b, 返回 0
如果 a > b, 返回 1
如果 a < b, 返回 -1

例子

<?php function my_sort($a, $b) { if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
} $arr = array("Peter", "glenn","Cleveland","peter","cleveland", "Glenn");
usort($arr, "my_sort");
print_r ($arr);
?>
輸出:
Array ( [0] => peter [1] => glenn [2] => cleveland [3] => Peter [4] => Glenn [5] => Cleveland )

實例

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";
}

相關詞條

熱門詞條

聯絡我們