lemurro / lib-sorter
PHP 库 Sorter - 根据指定键对关联数组进行排序
v1.0.0
2019-05-08 09:30 UTC
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-09-08 20:39:11 UTC
README
根据指定键对关联数组进行排序
安装
composer require lemurro/lib-sorter
使用
$sorter->run(&$array, $key_name, $order_type, $save_keys = true);
- &$array
array
(必需) - 数据数组(按引用传递) - $key_name
string
(必需) - 键名 - $order_type
string
(必需) - 排序类型 ('asc'|'desc') - $save_keys
boolean
(可选) - 保存键(true|false),默认为true
保留键的排序(默认)
use Lemurro\Lib\Sorter\Sorter; $sorter = new Sorter(); $array = [ 'z' => [ 'field1' => 'A', 'field2' => 'orange', ], 'x' => [ 'field1' => 'C', 'field2' => 'apple', ], 'c' => [ 'field1' => 'B', 'field2' => 'peach', ], ]; $sorter->run($array, 'field1', 'asc'); var_dump($array); /* [ 'z' => [ 'field1' => 'A' 'field2' => 'orange' ] 'c' => [ 'field1' => 'B' 'field2' => 'peach' ] 'x' => [ 'field1' => 'C' 'field2' => 'apple' ] ] */
use Lemurro\Lib\Sorter\Sorter; $sorter = new Sorter(); $array = [ 'z' => [ 'field1' => 'A', 'field2' => 'orange', ], 'x' => [ 'field1' => 'C', 'field2' => 'apple', ], 'c' => [ 'field1' => 'B', 'field2' => 'peach', ], ]; $sorter->run($array, 'field2', 'desc'); var_dump($array); /* [ 'x' => [ 'field1' => 'C' 'field2' => 'apple' ] 'c' => [ 'field1' => 'B' 'field2' => 'peach' ] 'z' => [ 'field1' => 'A' 'field2' => 'orange' ] ] */
不保留键的排序
use Lemurro\Lib\Sorter\Sorter; $sorter = new Sorter(); $array = [ 'z' => [ 'field1' => 'A', 'field2' => 'orange', ], 'x' => [ 'field1' => 'C', 'field2' => 'apple', ], 'c' => [ 'field1' => 'B', 'field2' => 'peach', ], ]; $sorter->run($array, 'field1', 'asc', false); var_dump($array); /* [ 0 => [ 'field1' => 'A' 'field2' => 'orange' ] 1 => [ 'field1' => 'B' 'field2' => 'peach' ] 2 => [ 'field1' => 'C' 'field2' => 'apple' ] ] */