📜  PHP | Ds\Vector sorted()函数(1)

📅  最后修改于: 2023-12-03 15:03:37.285000             🧑  作者: Mango

PHP | Ds\Vector sorted()函数

简介

PHP中的Ds\Vector是一个向量容器,可以用于存储任意类型的数据,而sorted()函数就是其中的一个排序函数。这个函数会返回一个排序后的新的向量,原始向量不会被改变。同时,这个函数也可以接受一个callable类型参数,让用户自定义排序规则。

语法
public function sorted(callable|null $comparator = null): Vector
参数
  • $comparator(可选):一个callable类型参数,用户自定义的比较函数。
返回值

返回一个新的排序后的向量。原始向量不会被改变。

例子
<?php

use Ds\Vector;

// 创建一个向量,包含3个随机整数
$vector = new Vector([3, 1, 4]);

// 将向量排序并打印出来
$sortedVector = $vector->sorted();
print_r($sortedVector);

// 自定义比较函数,按照绝对值大小排序
$customComparator = function($a, $b) {
    return abs($a) - abs($b);
};

// 排序后打印出来
$sortedVectorWithCustomComparator = $vector->sorted($customComparator);
print_r($sortedVectorWithCustomComparator);

?>

输出:

Ds\Vector Object
(
    [0] => 1
    [1] => 3
    [2] => 4
)
Ds\Vector Object
(
    [0] => 1
    [1] => 3
    [2] => 4
)
注意事项
  1. sorted()函数返回一个新的排序后的向量,原始向量不会被改变。
  2. 如果需要对向量进行原地排序,请使用sort()函数。
  3. 如果不指定比较函数,sorted()函数会默认使用PHP的标准比较函数进行排序。
相关函数
  • sort(): 对向量进行原地排序。
  • rsort(): 对向量进行原地反向排序。
  • usort(): 使用用户自定义的比较函数对向量进行排序。
  • uasort(): 与usort()类似,区别在于uasort()会保留键-值关系。