array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'ds-deque.sort.php', 1 => 'Ds\\Deque::sort', 2 => 'Sorts the deque in-place', ), 'up' => array ( 0 => 'class.ds-deque.php', 1 => 'Ds\\Deque', ), 'prev' => array ( 0 => 'ds-deque.slice.php', 1 => 'Ds\\Deque::slice', ), 'next' => array ( 0 => 'ds-deque.sorted.php', 1 => 'Ds\\Deque::sorted', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/ds/ds/deque/sort.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

Ds\Deque::sort

(PECL ds >= 1.0.0)

Ds\Deque::sort Sorts the deque in-place

说明

public Ds\Deque::sort(callable $comparator = ?): void

Sorts the deque in-place, using an optional comparator function.

参数

comparator

在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。

callback(mixed $a, mixed $b): int
警告

从比较函数中返回非整数值,例如 float,将导致内部强制转换为 callback 返回值为 int。因此,诸如 0.990.1 之类的值都将被转换为整数值 0,将这些值比较的话将会是相等。

返回值

没有返回值。

示例

示例 #1 Ds\Deque::sort() example

<?php
$deque
= new \Ds\Deque([4, 5, 1, 3, 2]);
$deque->sort();

print_r($deque);
?>

以上示例的输出类似于:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

示例 #2 Ds\Deque::sort() example using a comparator

<?php
$deque
= new \Ds\Deque([4, 5, 1, 3, 2]);

$deque->sort(function($a, $b) {
return
$b <=> $a;
});

print_r($deque);
?>

以上示例的输出类似于:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)