xtompie / lasorter
Laravel collection macro sorter for sort multidimensional array by multiple criteria like columns, keys, any deep value
1.0.0
2021-04-28 21:24 UTC
Requires
- illuminate/support: ^8.0
- xtompie/sorter: ^1.0
This package is auto-updated.
Last update: 2025-03-29 00:52:03 UTC
README
Laravel collection macro sorter for sort multidimensional array by multiple criteria like columns, keys, any deep value
Installation
composer require xtompie/lasorter
Usage
<?php require 'vendor/autoload.php'; use Xtompie\Sorter\Sorter; print_r( collect([ 'a' => ['city' => 'Warszawa', 'street' => 'Lea', 'meta' => (object)['priority' => '5']], 'b' => ['city' => 'Krakow', 'street' => 'Lea', 'meta' => (object)['priority' => '10']], 'c' => ['city' => 'Krakow', 'street' => 'Krolewska', 'meta' => (object)['priority' => '10']], 'd' => ['city' => 'Krakow', 'street' => 'Lea', 'meta' => (object)['priority' => '10']], ]) ->sorter(function(Sorter $sorter) { return $sorter ->asc("city") ->asc("street") ->asc(fn($i) => $i['meta']->priority) ->desc(fn($i, $k) => $k) ; }) );