src/Neutrino/Support/Arr.php
public static function get($array, $key, $default = null)
    {
        if (!self::accessible($array)) {
            return Obj::value($default);
        }
        if (is_null($key)) {
            return $array;
        }
        if (!is_array($key)) {
            if (self::exists($array, $key)) {
                return $array[$key];
            }

            $keys = explode('.', $key);
        } else {
            $keys = $key;
        }
        foreach ($keys as $segment) {
            if (self::accessible($array) && self::exists($array, $segment)) {
                $array = $array[$segment];
            } else {
                return Obj::value($default);
            }
        }

        return $array;
    }
public static function get($array, $key, $default = null)
    {
        if (!self::accessible($array)) {
            return Obj::value($default);
        }
        if (is_null($key)) {
            return $array;
        }
        if (!is_array($key)) {
            if (self::exists($array, $key)) {
                return $array[$key];
            }

            $keys = explode('.', $key);
        } else {
            $keys = $key;
        }
        foreach ($keys as $segment) {
            if (self::accessible($array) && self::exists($array, $segment)) {
                $array = $array[$segment];
            } else {
                return Obj::value($default);
            }
        }

        return $array;
    }
Get an item from an array using "dot" notation.

@param \ArrayAccess|array $array
@param string             $key
@param mixed              $default

@return mixed