PHP usort() 函數(shù)
定義和用法
usort() 函數(shù)使用用戶自定義的函數(shù)對(duì)數(shù)組排序。
注釋:如果兩個(gè)元素比較結(jié)果相同,則它們?cè)谂判蚝蟮臄?shù)組中的順序未經(jīng)定義。到 PHP 4.0.6 之前,用戶自定義函數(shù)將保留這些元素的原有順序。但是由于在 4.1.0 中引進(jìn)了新的排序算法,結(jié)果將不是這樣了,因?yàn)閷?duì)此沒有一個(gè)有效的解決方案。
注釋:本函數(shù)為 array 中的元素賦予新的鍵名。這會(huì)刪除原有的鍵名。
語(yǔ)法
usort(array,sorttype)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定要排序的數(shù)組。 |
function |
必需。用戶自定義的函數(shù)。 函數(shù)必須設(shè)計(jì)為返回 -1, 0, 或 1,并應(yīng)該接受兩個(gè)供比較的參數(shù),同時(shí)以類似下面這樣的方式來(lái)工作:
|
例子
<?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 )