tsoffereins / number-sorter
一个PHP库,帮助你按字母顺序排序数字。
v1.0.0
2019-04-06 16:06 UTC
Requires
- php: >=5.6
- kwn/number-to-words: ^1.6
Requires (Dev)
- phpspec/prophecy: ~1.0
- phpunit/phpunit: ^5.0
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不会修改输入数组,而是返回一个新的已按字母顺序排序的数组。
支持
你在开玩笑吗?!