查询

ArrayObject::uasort()函数—用法及示例

「 根据指定的比较函数对数组对象的元素进行原地排序,并保持元素与键的关联 」


函数名:ArrayObject::uasort()

描述:ArrayObject::uasort() 方法根据指定的比较函数对数组对象的元素进行原地排序,并保持元素与键的关联。

用法:

ArrayObject::uasort ( callable $cmp_function ) : bool

参数:

  • cmp_function (callable):比较函数,必须接受两个参数并返回一个整数值。如果第一个参数小于第二个参数,则返回一个负整数;如果第一个参数大于第二个参数,则返回一个正整数;如果两个参数相等,则返回 0。

返回值:

  • 成功时返回 true,失败时返回 false。

示例:

$fruits = new ArrayObject([
    'apple' => 2,
    'banana' => 4,
    'cherry' => 1
]);

// 自定义比较函数按值进行排序
$fruits->uasort(function($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});

foreach($fruits as $fruit => $quantity) {
    echo "<li>$fruit: $quantity</li>";
}

输出:

<li>cherry: 1</li>
<li>apple: 2</li>
<li>banana: 4</li>

说明: ArrayObject::uasort() 方法通过指定的比较函数对数组对象的值进行排序,并保持键值对的关联。在示例中,我们创建了一个 $fruits 数组对象,包含水果名作为键,数量作为值。然后,我们使用自定义的比较函数来按照数量对水果进行排序,并使用 uasort() 方法进行排序操作。最后,使用 foreach 循环遍历排序后的数组对象,并将键值对以 HTML 列表的形式输出。

补充纠错
热门PHP函数
分享链接