This is a fork of equip/structure, updated for PHP8 compatability
Provides a number of common data structures in Equip that are not natively supported by PHP. Each structure is represented by an immutable object that can be counted and serialized to JSON. All of the structures can be used as iterators and arrays, but cannot be modified using array functions.
For more information, see the documentation.
This package is compliant with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.
Dictionary
is an implementation of a associative array that
stores values identified by a key. Only associative arrays can be used to
initialize the structure. Any value can be defined by a string key.
SortedDictionary
is an implementation of a associative array
that also sorts the array. When the dictionary is modified it will be sorted.
By default the asort
function is used.
OrderedList
is an implementation of a list that stores ordered
values. Only an indexed array can be used to initialize the structure. Any value
can be added. When the list is modified it will be sorted. By default the
sort
function will be used.
UnorderedList
is an implementation of a list that stores
unordered values. The same value may appear more than once. Only an indexed array
can be used to initialize the structure. Any value can be added.
Set
is an implementation of a set that stores a unique values.
The same value will not appear more than once. Only an indexed array can be used
to initialize the structure. Adding an existing value to the set will have no effect.
A set also also be added to before or after an existing element.
The following versions of PHP are supported.
- PHP 7.4
- PHP 8.0
Via Composer
$ composer require pagely/structure
The MIT License (MIT). Please see License File for more information.