1 | <?php declare(strict_types=1); |
||
11 | class Arr |
||
12 | { |
||
13 | /** |
||
14 | * If any of the provided values is in an array. |
||
15 | * |
||
16 | * This is a convenient function for constructs like in_array('val1', $a) || in_array('val2, $a) etc. |
||
17 | * |
||
18 | * @param array|string $anyValue Array of needles (will try any for a match) |
||
19 | * @param array $array Haystack array |
||
20 | * @return bool |
||
21 | */ |
||
22 | 2 | public static function anyIn($anyValue, array $array): bool |
|
30 | |||
31 | /** |
||
32 | * If all of the provided values is in an array. |
||
33 | * |
||
34 | * This is a convenient function for constructs like in_array('val1', $a) && in_array('val2, $a) etc. |
||
35 | * |
||
36 | * @param array|mixed $allValues Array of needles (will try all for a match) |
||
37 | * @param array $array Haystack array |
||
38 | * @return bool |
||
39 | */ |
||
40 | 2 | public static function allIn($allValues, array $array): bool |
|
59 | |||
60 | /** |
||
61 | * Get a new array with prefix applied to all values. |
||
62 | * |
||
63 | * @param array $array |
||
64 | * @param string $prefix |
||
65 | * @return array |
||
66 | */ |
||
67 | 1 | public static function valuesWithPrefix(array $array, $prefix): array |
|
77 | |||
78 | /** |
||
79 | * Checks if all values in an array is empty (recursively). |
||
80 | * |
||
81 | * Does not consider other arrays with empty values non-empty as the normal |
||
82 | * empty() function does. |
||
83 | * |
||
84 | * @param array|mixed $input |
||
85 | * @return bool |
||
86 | */ |
||
87 | 2 | public static function allEmpty($input): bool |
|
101 | |||
102 | /** |
||
103 | * Filter associative array on keys, by provided keys, a callable or null (like array_filter, but for keys). |
||
104 | * |
||
105 | * @param array $inputArray |
||
106 | * @param array|callable|null $keysOrCallable |
||
107 | * @return array |
||
108 | */ |
||
109 | 3 | public static function filterKeys(array $inputArray, $keysOrCallable = null): array |
|
123 | |||
124 | /** |
||
125 | * Collect values from method calls from an array of objects. |
||
126 | * |
||
127 | * @param array $objectArray |
||
128 | * @param string $methodName |
||
129 | * @return array |
||
130 | */ |
||
131 | 1 | public static function objectsMethodValues(array $objectArray, string $methodName): array |
|
141 | |||
142 | /** |
||
143 | * Get a new array with all scalar values cast to type. |
||
144 | * |
||
145 | * @param array $inputArray |
||
146 | * @param string $type |
||
147 | * @return array |
||
148 | */ |
||
149 | 2 | public static function valuesWithType(array $inputArray, string $type): array |
|
162 | |||
163 | /** |
||
164 | * Replaces values in array1 with values from array2 comparing keys and |
||
165 | * discarding keys that doesn't exist in array1. |
||
166 | * |
||
167 | * @param array $array1 |
||
168 | * @param array $array2 |
||
169 | * @param bool $recursive |
||
170 | * @return array |
||
171 | */ |
||
172 | 3 | public static function replaceExisting(array $array1, array $array2, bool $recursive = false): array |
|
186 | |||
187 | /** |
||
188 | * Sort by array. |
||
189 | * |
||
190 | * @param array $sortArray |
||
191 | * @param array $mapArray |
||
192 | * @return array |
||
193 | */ |
||
194 | 1 | public static function sortByArray(array $sortArray, array $mapArray): array |
|
205 | } |
||
206 |