tsoffereins/number-sorter

一个PHP库,帮助你按字母顺序排序数字。

v1.0.0 2019-04-06 16:06 UTC

This package is auto-updated.

Last update: 2024-09-07 05:39:02 UTC


README

使用这个库,你终于可以按你一直想要的方式对数字列表进行排序:按字母顺序。

安装

你可以通过composer安装NumberSorter

composer require tsoffereins/number-sorter

此库需要PHP 5.6或更高版本才能运行。

使用

按字母顺序排序数字列表就像1 3 2一样简单

$sorter = new \NumberSorter\NumberSorter();

$input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

$output = $sorter->sort($input);

var_dump($output); // [8, 5, 4, 9, 1, 7, 6, 10, 3, 2]

数字列表

输入列表必须是只包含数字值的数组。这包括任何会使is_numeric()返回true的值。有关更多信息,请参阅php.net

如果你传递了一个非数字值,将会抛出一个TypeError

语言

默认情况下,数字按英语字母顺序排序,但如果你想要按其他语言排序,可以在构造函数中传递它

$sorter = new \NumberSorter\NumberSorter('nl');

$input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

$output = $sorter->sort($input);

var_dump($output); // [8, 3, 1, 9, 10, 2, 4, 5, 6, 7]

NumberSorter库依赖于包kwn/number-to-words将数字转换为文字。查看他们的文档了解可用区域设置

不可变性

通过引用传递数组并排序其内容,就像PHP的sort()函数所做的那样,在90年代可能是可以接受的,但良好的代码应该限制副作用。因此,NumberSorter不会修改输入数组,而是返回一个新的已按字母顺序排序的数组。

支持

你在开玩笑吗?!