Total Complexity | 12 |
Total Lines | 34 |
Duplicated Lines | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
11 | class ArrayHelper |
||
12 | { |
||
13 | public static function getValue($array, $key, $default = null) |
||
14 | { |
||
15 | if ($key instanceof \Closure) { |
||
16 | return $key($array, $default); |
||
17 | } |
||
18 | |||
19 | if (is_array($array) && (isset($array[$key]) || array_key_exists($key, $array))) { |
||
20 | return $array[$key]; |
||
21 | } |
||
22 | |||
23 | if (($pos = strrpos($key, '.')) !== false) { |
||
24 | $array = static::getValue($array, substr($key, 0, $pos), $default); |
||
25 | $key = substr($key, $pos + 1); |
||
26 | } |
||
27 | |||
28 | if (is_object($array)) { |
||
29 | return $array->$key; |
||
30 | } elseif (is_array($array)) { |
||
31 | return (isset($array[$key]) || array_key_exists($key, $array)) ? $array[$key] : $default; |
||
32 | } |
||
33 | |||
34 | return $default; |
||
35 | } |
||
36 | |||
37 | public static function getColumn($array, $name) |
||
45 | } |
||
46 | } |