Download the PHP package pjdietz/complex-sort without Composer
On this page you can find all versions of the php package pjdietz/complex-sort. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pjdietz/complex-sort
More information about pjdietz/complex-sort
Files in pjdietz/complex-sort
Package complex-sort
Short Description Chain multiple comare functions together for use in usort
License MIT
Homepage https://github.com/pjdietz/complex-sort
Informations about the package complex-sort
ComplexSort
ComplexSort allows you to chain together multiple comparison functions for us in PHP's usort
function. For example, if you have a an array of associative arrays, each with the fields firstName
, nickname
, age
, and favoriteColor
, and you've created comparison functions to sort by each of these fields individually, you can use ComplexSort to build a new comparison function that combines these in whichever order you like.
Examples
Say way have this array:
And suppose we have these functions for sorting individually:
We can make new comparison functions that order these individual functions in whichever order we need.
Closures
The array passed to ComplexSort::makeComplexSortFunction()
can include anything that is a callable
in PHP. This means you can pass a string that names a function, or you can pass closures, like this:
Install
Composer
Add an entry for "pjdietz/complex-sort" to your composer.json file's require property. If you are not already using Composer, create a file in your project called composer.json with the following content:
Use Composer to download and install ComplexSort. Run these commands from the directory containing the composer.json file.
You can now use ComplexSort by including the autoload.php file generated by Composer. vendor/autoload.php
Copy-and-paste
For a copy-and-paste version of the same functionality, see my original gist.
Happy sorting!