MemoizableArray ​
- Type
- Class
- Namespace
- craft\base
- Inherits
- craft\base\MemoizableArray
- Implements
- Countable, IteratorAggregate
- Since
- 3.5.8
MemoizableArray represents an array of values that need to be run through craft\helpers\ArrayHelper::where() or craft\helpers\ArrayHelper::firstWhere() repeatedly, where it could be beneficial if the results were memoized.
Any class properties that are set to an instance of this class should be excluded from class serialization:
public function __serialize()
{
$vars = get_object_vars($this);
unset($vars['myMemoizedPropertyName'];
return $vars;
}Public Methods ​
| Method | Description |
|---|---|
| __construct() | Constructor |
| all() | Returns all items. |
| count() | |
| firstWhere() | Returns the first value where a given key (the name of a sub-array key or sub-object property) is set to a given value. |
| getIterator() | |
| where() | Filters the array to only the values where a given key (the name of a sub-array key or sub-object property) is set to a given value. |
| whereIn() | Filters the array to only the values where a given key (the name of a sub-array key or sub-object property) is set to one of a given range of values. |
__construct() ​
Constructor
Arguments ​
$elements(array) – The items to be memoized$normalizer(callable, null) – A method that the items should be normalized with when first returned by all() or firstWhere().
all() ​
Returns all items.
Returns ​
count() ​
Returns ​
firstWhere() ​
Returns the first value where a given key (the name of a sub-array key or sub-object property) is set to a given value.
Arguments ​
$key(string) – The column name whose result will be used to index the array$value(mixed) – The value that$keyshould be compared with$strict(boolean) – Whether a strict type comparison should be used when checking array element values against$value
Returns ​
\craft\base\T, null – The first matching value, or null if no match is found
getIterator() ​
Returns ​
where() ​
Filters the array to only the values where a given key (the name of a sub-array key or sub-object property) is set to a given value.
Array keys are preserved by default.
Arguments ​
$key(string) – The column name whose result will be used to index the array$value(mixed) – The value that$keyshould be compared with$strict(boolean) – Whether a strict type comparison should be used when checking array element values against$value
Returns ​
self – The filtered array
whereIn() ​
Filters the array to only the values where a given key (the name of a sub-array key or sub-object property) is set to one of a given range of values.
Array keys are preserved by default.
Arguments ​
$key(string) – The column name whose result will be used to index the array$values(array) – The value that$keyshould be compared with$strict(boolean) – Whether a strict type comparison should be used when checking array element values against$values
Returns ​
self – The filtered array