public static function getValueByKeysPath(array $array, array $keys)
    {
        /*
         * No elements?
         * Nothing to do
         */
        if (empty($array)) {
            return null;
        }

        $value = null;

        if (self::issetRecursive($array, $keys)) {
            foreach ($keys as $key) {
                $value = $array[$key];
                array_shift($keys);

                if (is_array($value) && !empty($keys)) {
                    $value = self::getValueByKeysPath($value, $keys);
                }

                break;
            }
        }

        return $value;
    }