filter()
hasIntegerKeys()
hasNumericKeys()
hasStringKeys()
inArray()
isHashTable()
isList()
iteratorToArray()
merge()
ARRAY_FILTER_USE_BOTH
ARRAY_FILTER_USE_KEY
Utility class for testing and manipulation of PHP arrays.
Declared abstract, as we have no need for instantiation.
filter(array $data, \Zend\Stdlib\callable $callback, null | int $flag) : array
array
\Zend\Stdlib\callable
nullint
array
hasIntegerKeys(mixed $value, bool $allowEmpty) : bool
mixed
bool
Should an empty array() return true
bool
hasNumericKeys(mixed $value, bool $allowEmpty) : bool
A numeric key can be one of the following: - an integer 1, - a string with a number '20' - a string with negative number: '-1000' - a float: 2.2120, -78.150999 - a string with float: '4000.99999', '-10.10'
mixed
bool
Should an empty array() return true
bool
hasStringKeys(mixed $value, bool $allowEmpty) : bool
mixed
bool
Should an empty array() return true
bool
inArray(mixed $needle, array $haystack, int | bool $strict) : bool
Due to "foo" == 0 === TRUE with in_array when strict = false, an option has been added to prevent this. When $strict = 0/false, the most secure non-strict check is implemented. if $strict = -1, the default in_array non-strict behaviour is used.
mixed
array
intbool
bool
isHashTable(mixed $value, bool $allowEmpty) : bool
An array is a hash table if:
For example:
$hash = array(
'foo' => 15,
'bar' => false,
);
$hash = array(
1995 => 'Birth of PHP',
2009 => 'PHP 5.3.0',
2012 => 'PHP 5.4.0',
);
$hash = array(
'formElement,
'options' => array( 'debug' => true ),
);
mixed
bool
Is an empty array() a valid hash table?
bool
isList(mixed $value, bool $allowEmpty) : bool
A list is a collection of values assigned to continuous integer keys starting at 0 and ending at count() - 1.
For example:
$list = array('a', 'b', 'c', 'd');
$list = array(
0 => 'foo',
1 => 'bar',
2 => array('foo' => 'baz'),
);
mixed
bool
Is an empty list a valid list?
bool
iteratorToArray(array | \Traversable $iterator, bool $recursive) : array
Converts an iterator to an array. The $recursive flag, on by default, hints whether or not you want to do so recursively.
array\Traversable
The array or Traversable object to convert
bool
Recursively check all nested structures
\Zend\Stdlib\Exception\InvalidArgumentException |
if $iterator is not an array or a Traversable object |
---|
array
merge(array $a, array $b, bool $preserveNumericKeys) : array
If an integer key exists in both arrays and preserveNumericKeys is false, the value from the second array will be appended to the first array. If both values are arrays, they are merged together, else the value of the second array overwrites the one of the first array.
array
array
bool
array
ARRAY_FILTER_USE_BOTH
ARRAY_FILTER_USE_KEY