ArrayIterator::uasort()函数是PHP中的内置函数,用于使用用户定义的比较函数对元素进行排序并维护其索引关联。
用法:
void ArrayIterator::uasort( callable $cmp_function )
参数:该函数接受单个参数$cmp_function,它是用户定义的比较函数。此比较函数接受两个参数,它们是ArrayIterator的值,并且如果第一个参数小于,等于或大于零,则分别返回小于,等于或大于零。
返回值:该函数不返回任何值。
以下示例程序旨在说明PHP中的ArrayIterator::uasort()函数:
strong>程序1:
<?php
// Declare an ArrayIterator
$arrItr = new ArrayIterator(
array(
"a" => 4,
"b" => 2,
"g" => 8,
"d" => 6,
"e" => 1,
"f" => 9
)
);
// User defined comparator function
function sorting($a, $b) {
if($a == $b)
return 0;
return ($a < $b) ? -1 : 1;
}
$arrItr->uasort("sorting");
// Printing the sorted array.
print_r($arrItr);
?>
输出:
ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [e] => 1 [b] => 2 [a] => 4 [d] => 6 [g] => 8 [f] => 9 ) )
程序2:
<?php
// Declare an ArrayIterator
$arrItr = new ArrayIterator(
array(
"a" => "Geeks",
"b" => "for",
"c" => "Geeks",
"d" => "Computer",
"e" => "Science",
"f" => "Portal"
)
);
// Declare a comparison function to sort
// values in descending order
function comparison($val1, $val2) {
if ($val1 == $val2) {
return 0;
}
else if($val1 > $val2)
return -1;
else
return 1;
}
$arrItr->uasort('comparison');
// Print the sorted ArrayObject
print_r($arrItr);
?>
输出:
ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [b] => for [e] => Science [f] => Portal [a] => Geeks => Geeks [d] => Computer ) )
参考: https://www.php.net/manual/en/arrayiterator.uasort.php
相关用法
- PHP uasort()用法及代码示例
- PHP ArrayObject uasort()用法及代码示例
- PHP ArrayIterator key()用法及代码示例
- PHP ArrayIterator next()用法及代码示例
- PHP ArrayIterator asort()用法及代码示例
- PHP ArrayIterator append()用法及代码示例
- PHP ArrayIterator uksort()用法及代码示例
- PHP ArrayIterator serialize()用法及代码示例
- PHP ArrayIterator __construct()用法及代码示例
- PHP ArrayIterator natsort()用法及代码示例
- PHP ArrayIterator ksort()用法及代码示例
- PHP ArrayIterator getFlags()用法及代码示例
- PHP ArrayIterator getArrayCopy()用法及代码示例
- PHP ArrayIterator current()用法及代码示例
- PHP ArrayIterator count()用法及代码示例
注:本文由纯净天空筛选整理自jit_t大神的英文原创作品 PHP | ArrayIterator uasort() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。