class Arrays

Array tools library.

Methods

static mixed
get(array $array, string|int|array $key, mixed $default = null)

Returns item from array. If it does not exist, it throws an exception, unless a default value is set.

static mixed
getRef(array $array, string|int|array $key)

Returns reference to array item. If the index does not exist, new one is created with value null.

static array
mergeTree(array $array1, array $array2)

Recursively merges two fields. It is useful, for example, for merging tree structures. It behaves as the + operator for array, ie. it adds a key/value pair from the second array to the first one and retains the value from the first array in the case of a key collision.

static int|null
getKeyOffset(array $array, string|int $key)

Returns zero-indexed position of given array key. Returns null if key is not found.

static int|null
searchKey(array $array, $key) deprecated

No description

static bool
contains(array $array, mixed $value)

Tests an array for the presence of value.

static mixed
first(array $array, callable|null $predicate = null, callable|null $else = null)

Returns the first item (matching the specified predicate if given). If there is no such item, it returns result of invoking $else or null.

static mixed
last(array $array, callable|null $predicate = null, callable|null $else = null)

Returns the last item (matching the specified predicate if given). If there is no such item, it returns result of invoking $else or null.

static int|string|null
firstKey(array $array, callable|null $predicate = null)

Returns the key of first item (matching the specified predicate if given) or null if there is no such item.

static int|string|null
lastKey(array $array, callable|null $predicate = null)

Returns the key of last item (matching the specified predicate if given) or null if there is no such item.

static void
insertBefore(array $array, string|int|null $key, array $inserted)

Inserts the contents of the $inserted array into the $array immediately after the $key.

static void
insertAfter(array $array, string|int|null $key, array $inserted)

Inserts the contents of the $inserted array into the $array before the $key.

static bool
renameKey(array $array, string|int $oldKey, string|int $newKey)

Renames key in array.

static array
grep(array $array, string $pattern, bool|int $invert = false)

Returns only those array items, which matches a regular expression $pattern.

static array
flatten(array $array, bool $preserveKeys = false)

Transforms multidimensional array to flat array.

static bool
isList(mixed $value)

Checks if the array is indexed in ascending order of numeric keys from zero, a.k.a list.

static array|stdClass
associate(array $array, string|string[] $path)

Reformats table to associative tree. Path looks like 'field|field[]field->field=field'.

static array
normalize(array $array, mixed $filling = null)

Normalizes array to associative array. Replace numeric keys with their values, the new value will be $filling.

static mixed
pick(array $array, string|int $key, mixed $default = null)

Returns and removes the value of an item from an array. If it does not exist, it throws an exception, or returns $default, if provided.

static bool
some(iterable $array, callable $predicate)

No description

static bool
every(iterable $array, callable $predicate)

No description

static array
filter(array $array, callable $predicate)

No description

static array
map(iterable $array, callable $transformer)

No description

static array
invoke(iterable $callbacks, ...$args)

Invokes all callbacks and returns array of results.

static array
invokeMethod(iterable $objects, string $method, ...$args)

Invokes method on every object in an array and returns array of results.

static object
toObject(iterable $array, object $object)

Copies the elements of the $array array to the $object object and then returns it.

static int|string
toKey(mixed $value)

Converts value to array key.

static array
wrap(array $array, string $prefix = '', string $suffix = '')

Returns copy of the $array where every item is converted to string and prefixed by $prefix and suffixed by $suffix.

Details

at line 33
static mixed get(array $array, string|int|array $key, mixed $default = null)

Returns item from array. If it does not exist, it throws an exception, unless a default value is set.

Parameters

array $array
string|int|array $key
mixed $default

Return Value

mixed

Exceptions

InvalidArgumentException

at line 59
static mixed getRef(array $array, string|int|array $key)

Returns reference to array item. If the index does not exist, new one is created with value null.

Parameters

array $array
string|int|array $key

Return Value

mixed

Exceptions

InvalidArgumentException

at line 83
static array mergeTree(array $array1, array $array2)

Recursively merges two fields. It is useful, for example, for merging tree structures. It behaves as the + operator for array, ie. it adds a key/value pair from the second array to the first one and retains the value from the first array in the case of a key collision.

Parameters

array $array1
array $array2

Return Value

array

at line 99
static int|null getKeyOffset(array $array, string|int $key)

Returns zero-indexed position of given array key. Returns null if key is not found.

Parameters

array $array
string|int $key

Return Value

int|null

at line 108
static int|null searchKey(array $array, $key) deprecated

deprecated use getKeyOffset()

No description

Parameters

array $array
$key

Return Value

int|null

at line 117
static bool contains(array $array, mixed $value)

Tests an array for the presence of value.

Parameters

array $array
mixed $value

Return Value

bool

at line 130
static mixed first(array $array, callable|null $predicate = null, callable|null $else = null)

Returns the first item (matching the specified predicate if given). If there is no such item, it returns result of invoking $else or null.

The $predicate has the signature function (mixed $value, int|string $key, array $array): bool.

Parameters

array $array
callable|null $predicate
callable|null $else

Return Value

mixed

at line 146
static mixed last(array $array, callable|null $predicate = null, callable|null $else = null)

Returns the last item (matching the specified predicate if given). If there is no such item, it returns result of invoking $else or null.

The $predicate has the signature function (mixed $value, int|string $key, array $array): bool.

Parameters

array $array
callable|null $predicate
callable|null $else

Return Value

mixed

at line 159
static int|string|null firstKey(array $array, callable|null $predicate = null)

Returns the key of first item (matching the specified predicate if given) or null if there is no such item.

The $predicate has the signature function (mixed $value, int|string $key, array $array): bool.

Parameters

array $array
callable|null $predicate

Return Value

int|string|null

at line 177
static int|string|null lastKey(array $array, callable|null $predicate = null)

Returns the key of last item (matching the specified predicate if given) or null if there is no such item.

The $predicate has the signature function (mixed $value, int|string $key, array $array): bool.

Parameters

array $array
callable|null $predicate

Return Value

int|string|null

at line 189
static void insertBefore(array $array, string|int|null $key, array $inserted)

Inserts the contents of the $inserted array into the $array immediately after the $key.

If $key is null (or does not exist), it is inserted at the beginning.

Parameters

array $array
string|int|null $key
array $inserted

Return Value

void

at line 202
static void insertAfter(array $array, string|int|null $key, array $inserted)

Inserts the contents of the $inserted array into the $array before the $key.

If $key is null (or does not exist), it is inserted at the end.

Parameters

array $array
string|int|null $key
array $inserted

Return Value

void

at line 217
static bool renameKey(array $array, string|int $oldKey, string|int $newKey)

Renames key in array.

Parameters

array $array
string|int $oldKey
string|int $newKey

Return Value

bool

at line 238
static array grep(array $array, string $pattern, bool|int $invert = false)

Returns only those array items, which matches a regular expression $pattern.

Parameters

array $array
string $pattern
bool|int $invert

Return Value

array

at line 253
static array flatten(array $array, bool $preserveKeys = false)

Transforms multidimensional array to flat array.

Parameters

array $array
bool $preserveKeys

Return Value

array

at line 268
static bool isList(mixed $value)

Checks if the array is indexed in ascending order of numeric keys from zero, a.k.a list.

Parameters

mixed $value

Return Value

bool

at line 281
static array|stdClass associate(array $array, string|string[] $path)

Reformats table to associative tree. Path looks like 'field|field[]field->field=field'.

Parameters

array $array
string|string[] $path

Return Value

array|stdClass

at line 334
static array normalize(array $array, mixed $filling = null)

Normalizes array to associative array. Replace numeric keys with their values, the new value will be $filling.

Parameters

array $array
mixed $filling

Return Value

array

at line 354
static mixed pick(array $array, string|int $key, mixed $default = null)

Returns and removes the value of an item from an array. If it does not exist, it throws an exception, or returns $default, if provided.

Parameters

array $array
string|int $key
mixed $default

Return Value

mixed

Exceptions

InvalidArgumentException

at line 378
static bool some(iterable $array, callable $predicate)

No description

Parameters

iterable $array
callable $predicate

Return Value

bool

at line 398
static bool every(iterable $array, callable $predicate)

No description

Parameters

iterable $array
callable $predicate

Return Value

bool

at line 419
static array filter(array $array, callable $predicate)

No description

Parameters

array $array
callable $predicate

Return Value

array

at line 441
static array map(iterable $array, callable $transformer)

No description

Parameters

iterable $array
callable $transformer

Return Value

array

at line 456
static array invoke(iterable $callbacks, ...$args)

Invokes all callbacks and returns array of results.

Parameters

iterable $callbacks
...$args

Return Value

array

at line 471
static array invokeMethod(iterable $objects, string $method, ...$args)

Invokes method on every object in an array and returns array of results.

Parameters

iterable $objects
string $method
...$args

Return Value

array

at line 488
static object toObject(iterable $array, object $object)

Copies the elements of the $array array to the $object object and then returns it.

Parameters

iterable $array
object $object

Return Value

object

at line 501
static int|string toKey(mixed $value)

Converts value to array key.

Parameters

mixed $value

Return Value

int|string

at line 513
static array wrap(array $array, string $prefix = '', string $suffix = '')

Returns copy of the $array where every item is converted to string and prefixed by $prefix and suffixed by $suffix.

Parameters

array $array
string $prefix
string $suffix

Return Value

array

Traits

Static class.