@@ 346-365 (lines=20) @@ | ||
343 | * |
|
344 | * @return mixed |
|
345 | */ |
|
346 | protected function arrayItem(array $array, $key, $default = null) |
|
347 | { |
|
348 | if (is_null($key)) { |
|
349 | return $array; |
|
350 | } |
|
351 | ||
352 | if (isset($array[$key])) { |
|
353 | return $array[$key]; |
|
354 | } |
|
355 | ||
356 | foreach (explode('.', $key) as $segment) { |
|
357 | if (!is_array($array) || !array_key_exists($segment, $array)) { |
|
358 | return $default; |
|
359 | } |
|
360 | ||
361 | $array = $array[$segment]; |
|
362 | } |
|
363 | ||
364 | return $array; |
|
365 | } |
|
366 | ||
367 | /** |
|
368 | * Put state to session storage and return it. |
@@ 212-230 (lines=19) @@ | ||
209 | * |
|
210 | * @return mixed |
|
211 | */ |
|
212 | public static function get($array, $key, $default = null) |
|
213 | { |
|
214 | if (is_null($key)) { |
|
215 | return $array; |
|
216 | } |
|
217 | ||
218 | if (isset($array[$key])) { |
|
219 | return $array[$key]; |
|
220 | } |
|
221 | ||
222 | foreach (explode('.', $key) as $segment) { |
|
223 | if (!is_array($array) || !array_key_exists($segment, $array)) { |
|
224 | return $default; |
|
225 | } |
|
226 | $array = $array[$segment]; |
|
227 | } |
|
228 | ||
229 | return $array; |
|
230 | } |
|
231 | ||
232 | /** |
|
233 | * Get a subset of the items from the given array. |