当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ArrayIterator uasort()用法及代码示例


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



相关用法


注:本文由纯净天空筛选整理自jit_t大神的英文原创作品 PHP | ArrayIterator uasort() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。