xtompie/lasorter

Laravel collection macro sorter for sort multidimensional array by multiple criteria like columns, keys, any deep value

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/xtompie/lasorter

1.0.0 2021-04-28 21:24 UTC

This package is auto-updated.

Last update: 2025-09-29 02:29:34 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)
            ;
        })
);