| @@ 258-286 (lines=29) @@ | ||
| 255 | } |
|
| 256 | } |
|
| 257 | ||
| 258 | if ( ! function_exists('array_get')) |
|
| 259 | { |
|
| 260 | /** |
|
| 261 | * Get an item from an array using "dot" notation. |
|
| 262 | * |
|
| 263 | * @param array $array |
|
| 264 | * @param string $key |
|
| 265 | * @param mixed $default |
|
| 266 | * @return mixed |
|
| 267 | */ |
|
| 268 | function array_get($array, $key, $default = null) |
|
| 269 | { |
|
| 270 | if (is_null($key)) return $array; |
|
| 271 | ||
| 272 | if (isset($array[$key])) return $array[$key]; |
|
| 273 | ||
| 274 | foreach (explode('.', $key) as $segment) |
|
| 275 | { |
|
| 276 | if ( ! is_array($array) || ! array_key_exists($segment, $array)) |
|
| 277 | { |
|
| 278 | return value($default); |
|
| 279 | } |
|
| 280 | ||
| 281 | $array = $array[$segment]; |
|
| 282 | } |
|
| 283 | ||
| 284 | return $array; |
|
| 285 | } |
|
| 286 | } |
|
| 287 | ||
| 288 | if ( ! function_exists('array_has')) |
|
| 289 | { |
|
| @@ 947-975 (lines=29) @@ | ||
| 944 | } |
|
| 945 | } |
|
| 946 | ||
| 947 | if ( ! function_exists('get')) |
|
| 948 | { |
|
| 949 | /** |
|
| 950 | * Get an item from an array using "dot" notation. |
|
| 951 | * |
|
| 952 | * @param array $array |
|
| 953 | * @param string $key |
|
| 954 | * @param mixed $default |
|
| 955 | * @return mixed |
|
| 956 | */ |
|
| 957 | function get($array, $key, $default = null) |
|
| 958 | { |
|
| 959 | if (is_null($key)) return $array; |
|
| 960 | ||
| 961 | if (isset($array[$key])) return $array[$key]; |
|
| 962 | ||
| 963 | foreach (explode('.', $key) as $segment) |
|
| 964 | { |
|
| 965 | if ( ! is_array($array) || ! array_key_exists($segment, $array)) |
|
| 966 | { |
|
| 967 | return value($default); |
|
| 968 | } |
|
| 969 | ||
| 970 | $array = $array[$segment]; |
|
| 971 | } |
|
| 972 | ||
| 973 | return $array; |
|
| 974 | } |
|
| 975 | } |
|
| 976 | ||
| 977 | if ( ! function_exists('set')) |
|
| 978 | { |
|