dragon-code / size-sorter
轻松排序衣物尺码、身高、内衣尺码、家具尺寸等
1.5.0
2024-03-12 21:42 UTC
Requires
- php: ^8.1
- archtechx/enums: ^0.3.1
- dragon-code/support: ^6.9
- illuminate/collections: ^8.75 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- fakerphp/faker: ^1.21
- illuminate/database: ^8.75 || ^9.0 || ^10.0 || ^11.0
- phpunit/phpunit: ^9.6
- symfony/var-dumper: ^5.3 || ^6.0 || ^7.0
README
轻松排序衣物尺码、身高、内衣尺码、家具尺寸等
安装
要获取最新版本的产品尺码排序器
,只需使用Composer引入项目。
composer require dragon-code/size-sorter
或者手动更新composer.json
文件中的require
块并运行composer update。
{ "require": { "dragon-code/size-sorter": "^1.0" } }
兼容性
注意
此包可以在框架系统外运行。
用法
在调用带有常用值的排序时,每个元素将被分配到以下五个组之一
- 字母衣物尺码(XXS、XS、M、L等)
- 衣物和鞋子的数字尺码(9、10、44-46、48等)
- 内衣尺码(70B、75A、80C等...)
- 物品的整体尺寸(40x38x19 sm等)
- 其他值
use DragonCode\SizeSorter\Sorter; return Sorter::sort(collect([ 'XXL', '26', '28', 'XL', 'ONE SIZE', 'XXS', '2', '54', ])); /* * Returns: * * Collection([ * 'XXS', * 'XL', * 'XXL', * '2', * '26', * '28', * '54', * 'ONE SIZE', * ]) */
use DragonCode\SizeSorter\Sorter; $items = Size::query()->get(); return Sorter::sort($items, 'title');
您可以在测试文件中查看更多示例。
组顺序
默认情况下,尺码按照以下逻辑块进行排序
- 字母衣物尺码(XXS、XS、M、L等)
- 衣物和鞋子的数字尺码(9、10、44-46、48等)
- 内衣尺码(70B、75A、80C等...)
- 物品的整体尺寸(40x38x19 sm等)
- 其他值
但是您可以通过指定标识符作为第三个参数来更改顺序
use DragonCode\SizeSorter\Enum\Group; use DragonCode\SizeSorter\Sorter; return Sorter::sort($items, groupsOrder: [3, 5, 4, 2, 1]); // or return Sorter::sort($items, groupsOrder: [Group::GROUP_3, Group::GROUP_5, Group::GROUP_4, Group::GROUP_2, Group::GROUP_1]);
最终数组将按照指定的顺序形成
3 - 5 - 4 - 2 - 1
您还可以指定一些组。例如
use DragonCode\SizeSorter\Enum\Group; use DragonCode\SizeSorter\Sorter; return Sorter::sort($items, groupsOrder: [3, 5]); // or return Sorter::sort($items, groupsOrder: [Group::GROUP_3, Group::GROUP_5]);
在这种情况下,前两个逻辑组将按照指定的顺序排序,后续的将按升序排序
3 - 5 - 1 - 2 - 4
许可证
此包受MIT许可证许可。