1 | <?php |
||
10 | class ArrayHelper |
||
11 | { |
||
12 | const INSERT_TYPE_AFTER = 'after'; |
||
13 | const INSERT_TYPE_BEFORE = 'before'; |
||
14 | |||
15 | /** |
||
16 | * @var array |
||
17 | */ |
||
18 | protected $insertTypes = [ |
||
19 | self::INSERT_TYPE_AFTER, |
||
20 | self::INSERT_TYPE_BEFORE, |
||
21 | ]; |
||
22 | |||
23 | /** |
||
24 | * Fetch single dimensional array from multi dimensional array (array_column analog) |
||
25 | * |
||
26 | * @param array $array |
||
27 | * @param string $valueParam |
||
28 | * @param string $keyParam |
||
29 | * @return array |
||
30 | */ |
||
31 | public function flatten(array $array, $valueParam, $keyParam = null) |
||
48 | |||
49 | /** |
||
50 | * Check is assoc array |
||
51 | * |
||
52 | * @param array $array |
||
53 | * @return bool |
||
54 | */ |
||
55 | public function isAssoc(array &$array) |
||
60 | |||
61 | /** |
||
62 | * Check is array |
||
63 | * |
||
64 | * @param mixed $value value to check |
||
65 | * @return boolean |
||
66 | */ |
||
67 | public function isArray($value) |
||
74 | |||
75 | /** |
||
76 | * Check for key exists |
||
77 | * |
||
78 | * @param array $array |
||
79 | * @param mixed $key |
||
80 | * @return bool |
||
81 | */ |
||
82 | public function has(array $array, $key) |
||
86 | |||
87 | /** |
||
88 | * Delete element from array |
||
89 | * |
||
90 | * @param array $array |
||
91 | * @param $key |
||
92 | * @return bool |
||
93 | */ |
||
94 | public function delete(array &$array, $key) |
||
103 | |||
104 | /** |
||
105 | * Extract values list from array |
||
106 | * |
||
107 | * @param array $array |
||
108 | * @param array $keys |
||
109 | * @return array |
||
110 | */ |
||
111 | public function extract(array $array, array $keys) |
||
123 | |||
124 | /** |
||
125 | * Extract from array with exclude |
||
126 | * |
||
127 | * @param array $array |
||
128 | * @param array $keys |
||
129 | * @return array |
||
130 | */ |
||
131 | public function exclude(array $array, array $keys) |
||
140 | |||
141 | /** |
||
142 | * Check is multi dimensional array |
||
143 | * |
||
144 | * @param array $array |
||
145 | * @return bool |
||
146 | */ |
||
147 | public function isMultiDimensional(array &$array) |
||
151 | |||
152 | /** |
||
153 | * Get element from array |
||
154 | * |
||
155 | * @param array $array |
||
156 | * @param string $key |
||
157 | * @param string $default |
||
158 | * @return mixed |
||
159 | */ |
||
160 | public function getElement(array &$array, $key, $default = null) |
||
164 | |||
165 | /** |
||
166 | * Clear array by filter |
||
167 | * |
||
168 | * @param array $array |
||
169 | * @param array $filter |
||
170 | * @return array |
||
171 | */ |
||
172 | public function clear(array $array, array $filter = ['', null]) |
||
176 | |||
177 | /** |
||
178 | * Insert after |
||
179 | * |
||
180 | * @param array $array |
||
181 | * @param array $insert |
||
182 | * @param mixed $key |
||
183 | * @param string $position |
||
184 | * @return array |
||
185 | */ |
||
186 | public function insert(array $array, $key, array $insert, $position = self::INSERT_TYPE_AFTER) |
||
205 | |||
206 | /** |
||
207 | * Insert after |
||
208 | * |
||
209 | * @param array $array |
||
210 | * @param mixed $key |
||
211 | * @param array $insert |
||
212 | * @return array |
||
213 | */ |
||
214 | public function insertAfter(array $array, $key, array $insert) |
||
218 | |||
219 | /** |
||
220 | * Insert before |
||
221 | * |
||
222 | * @param array $array |
||
223 | * @param mixed $key |
||
224 | * @param array $insert |
||
225 | * @return array |
||
226 | */ |
||
227 | public function insertBefore(array $array, $key, array $insert) |
||
231 | } |
This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an empty array is considered to be equal (but not identical) to false, this is not always apparent.
Consider making the comparison explicit by using
empty(..)
or! empty(...)
instead.