awssat / numbered-string-order
根据包含的数字自然排序字符串数组。
1.0.9
2019-07-15 11:29 UTC
Requires
- php: ~7.0
Requires (Dev)
- phpunit/phpunit: ^6.4
README
根据包含的数字自然排序字符串数组。PHP内置的natsort函数的替代品,实际上可以工作。
安装
通过Composer
$ composer require awssat/numbered-string-order
用法
排序
//if you are using laravel, then instead use: //$numberedStringOrder = app(Awssat\numberedStringOrder\numberedStringOrder::class); $numberedStringOrder = new numberedStringOrder(); $numberedStringOrder->sort([ 'episode 5', 'episode50', '499', 'episode1', 'episode two hundred', 'episode one', 'episode two', 'episode eleven', 'episode three' ]); >> output: [ "episode1", "episode one", "episode two", "episode three", "episode 5", "episode eleven", "episode50", "episode two hundred", 499, ]
如果你想知道为什么不使用内置函数(natsort),那么请查看上面相同示例的natsort输出,以了解原因
//output of built-in function natsor(): 🤨 [ "499", "episode1", "episode 5", "episode50", "episode eleven", "episode one", "episode three", "episode two", "episode two hundred", ]
获取数字
如果你想使用我们内部的数字提取方法
$numberedStringOrder->getNumbers(['2digits', 'text1', 'three3', 'two cars', 'blank']); >> output: [ "2digits" => 2, "text1" => "1", "three3" => "3", "two cars" => 2, "blank" => "blank", ]
将单词转换为数字
如果你想要将数字单词转换为数字,这个包也可能很有帮助
new numberedStringOrder(); $numberedStringOrder->englishWordsToNumbers('one hundred twenty-three thousand four hundred fifty-six'); >> output: 123456 //to get arabic words to number use: arabicWordsToNumbers(...)
测试
composer test
目前,它支持英语和阿拉伯语。
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。