(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function
This function sorts the keys of the entries using a user-supplied comparison function. The key to entry correlations will be maintained.
Зауваження:
Якщо два члени порівняння однакові, їхній порядок зберігається. До PHP 8.0.0, їхній відносний порядок у впорядкованому масиві був невизначеним.
callback
Порівняльна функція має повертати ціле число, котре менше, рівне або більше нуля, якщо перший параметр вважається відповідно меншим, рівним або більшим за другий.
Завжди повертає true
.
Приклад #1 ArrayObject::uksort() example
<?php
function cmp($a, $b) {
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');
foreach ($arrayObject as $key => $value) {
echo "$key: $value\n";
}
?>
Поданий вище приклад виведе:
an apple: 3 a banana: 4 the Earth: 2 John: 1