• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ArrayObject::uasort()

    (PHP 5 >= 5.2.0, PHP 7)

    Sort the entries with a user-defined comparison function and maintain key association

    说明

    publicArrayObject::uasort(callable $cmp_function): void

    This function sorts the entries such that keys maintain their correlation with the entry that they are associated with, using a user-defined comparison function.

    This is used mainly when sorting associative arrays where the actual element order is significant.

    参数

    $cmp_function

    Function$cmp_functionshould accept two parameters which will be filled by pairs of entries. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

    返回值

    没有返回值。

    范例

    ArrayObject::uasort() example

    <?php
    // Comparison function
    function cmp($a, $b) {
        if ($a == $b) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    }
    // Array to be sorted
    $array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
    $arrayObject = new ArrayObject($array);
    print_r($arrayObject);
    // Sort and print the resulting array
    $arrayObject->uasort('cmp');
    print_r($arrayObject);
    ?>
    

    以上例程会输出:

    Array
    (
        [a] => 4
        [b] => 8
        [c] => -1
        [d] => -9
        [e] => 2
        [f] => 5
        [g] => 3
        [h] => -4
    )
    Array
    (
        [d] => -9
        [h] => -4
        [c] => -1
        [e] => 2
        [g] => 3
        [a] => 4
        [f] => 5
        [b] => 8
    )
    

    参见

    • ArrayObject::asort() Sort the entries by value
    • ArrayObject::ksort() Sort the entries by key
    • ArrayObject::natsort() Sort entries using a "natural order" algorithm
    • ArrayObject::natcasesort() Sort an array using a case insensitive "natural order" algorithm
    • ArrayObject::uksort() Sort the entries by keys using a user-defined comparison function
    Note that return values between (-1, 1) are being considered as 0.