graze / sort
一组数组排序转换和函数
2.0.1
2014-09-23 17:01 UTC
Requires
- php: >=5.3
Requires (Dev)
- adlawson/timezone: ~1.0
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-24 05:00:10 UTC
README
这个库提供了一些有用的函数,用于对大型数组进行排序或比较数组值代价高昂的排序。目的是尽可能提供这些函数,同时保持与PHP内建的usort
函数的互操作性。
您可以选择任何您喜欢的安装方式,但我们推荐使用Composer。
{ "require": { "graze/sort": "*" } }
文档
<?php $unsorted = [ (object) ['foo' => 1, 'bar' => 3], (object) ['foo' => 3, 'bar' => 2], (object) ['foo' => 2, 'bar' => 1], (object) ['foo' => 2, 'bar' => 2], (object) ['foo' => 3, 'bar' => 3], (object) ['foo' => 1, 'bar' => 1], (object) ['foo' => 2, 'bar' => 3], (object) ['foo' => 3, 'bar' => 1], (object) ['foo' => 1, 'bar' => 2] ]; $foo = function ($v) { return $v->foo; }; $bar = function ($v) { return $v->bar; }; // Using comparison sorting $sorted = \Graze\Sort\comparison($unsorted, [$foo, $bar]); // Using schwartzian sorting $sorted = \Graze\Sort\schwartzian($unsorted, [$foo, $bar]); // Using comparison sorting with usort $sorted = $unsorted; usort($sorted, \Graze\Sort\comparison_fn($unsorted, [$foo, $bar]));