PHP uksort() 函數(shù)
定義和用法
uksort() 函數(shù)使用用戶自定義的比較函數(shù)按照鍵名對數(shù)組排序,并保持索引關(guān)系。
如果成功則返回 TRUE,否則返回 FALSE。
如果要排序的數(shù)組需要用一種不尋常的標(biāo)準(zhǔn)進(jìn)行排序,那么應(yīng)該使用此函數(shù)。
自定義函數(shù)應(yīng)接受兩個參數(shù),該參數(shù)將被數(shù)組中的一對鍵名填充。比較函數(shù)在第一個參數(shù)小于,等于,或大于第二個參數(shù)時必須分別返回一個小于零,等于零,或大于零的整數(shù)。
語法
uksort(array,sorttype)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定要排序的數(shù)組。 |
function |
必需。用戶自定義的函數(shù)。 函數(shù)必須設(shè)計為返回 -1, 0, 或 1,并應(yīng)該接受兩個供比較的參數(shù),同時以類似下面這樣的方式來工作:
|
例子
<?php function my_sort($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } $people = array("Swanson" => "Joe", "Griffin" => "Peter", "Quagmire" => "Glenn", "swanson" => "joe", "griffin" => "peter", "quagmire" => "glenn"); uksort($people, "my_sort"); print_r ($people); ?>
輸出:
Array ( [swanson] => joe [quagmire] => glenn [griffin] => peter [Swanson] => Joe [Quagmire] => Glenn [Griffin] => Peter )