Completed
Push — master ( c792b8...2c72d1 )
by Kanto
03:17 queued 01:25
created

array_get_recursive()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 8
nc 3
nop 3
dl 0
loc 12
rs 10
c 1
b 0
f 0
1
<?php
2
/**
3
 * Kore : Simple And Minimal Framework
4
 *
5
 */
6
7
if (!function_exists('url_add_query')) {
8
    /**
9
     * Add query parameters to URL
10
     * @param string $url URL
11
     * @param array<mixed> $params Query parameters
12
     * @return string URL with query parameters
13
     */
14
    function url_add_query($url, $params)
15
    {
16
        return $url . (strpos($url, '?') === false ? '?' : '&') . http_build_query($params);
17
    }
18
}
19
20
if (!function_exists('array_get_recursive')) {
21
    /**
22
     * Get array values recursively
23
     * @param array<mixed> $array array
24
     * @param string $key key
25
     * @param mixed $default default value
26
     * @return mixed value
27
     */
28
    function array_get_recursive($array, $key, $default = null)
29
    {
30
        $value = $array;
31
        $keys = explode('.', $key);
32
        foreach ($keys as $k) {
33
            if (isset($value[$k])) {
34
                $value = $value[$k];
35
            } else {
36
                return $default;
37
            }
38
        }
39
        return $value;
40
    }
41
}
42