Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как превратить строку в массив, обратная функция http_build_query?
Форумы портала PHP.SU » » Вопросы новичков » Как превратить строку в массив, обратная функция http_build_query?

Страниц (1): [1]
 

1. livote - 09 Апреля, 2017 - 14:39:55 - перейти к сообщению
Как превратить строку вида «user_name=%D0%98%D0%BC%D1%8F&user_phone=8800555....»
в массив:

[
user_name => 'Имя',
user_phone=> '8800555....'
]
2. Строитель - 09 Апреля, 2017 - 14:56:18 - перейти к сообщению
livote,
Спойлер (Отобразить)

(Добавление)
Компактнее можно с помощью parse_url($url, PHP_URL_PATH);
3. livote - 09 Апреля, 2017 - 15:04:01 - перейти к сообщению
Строитель пишет:
livote,
Спойлер (Отобразить)

(Добавление)
Компактнее можно с помощью parse_url($url, PHP_URL_PATH);



это всё строка, а не url с get параметрами
4. Строитель - 09 Апреля, 2017 - 15:16:58 - перейти к сообщению
livote пишет:
это всё строка, а не url с get параметрами
Тогда скорее всего с помощью регулярных выражений.
5. Мелкий - 09 Апреля, 2017 - 15:34:11 - перейти к сообщению
Есть такая штука с абсолютно кошмарным названием parse_str. Этой функцией $_GET и заполняется при старте скрипта.
PHP:
скопировать код в буфер обмена
  1. parse_str('user_name=%D0%98%D0%BC%D1%8F&user_phone=8800555', $rg);
  2. var_dump($rg);


Строитель пишет:
if (isset($_SERVER['QUERY_STRING'])) {
foreach ($_GET as $k => $v) {
$array[$k] = $v;
}
}

мм, а зачем так сложно?
PHP:
скопировать код в буфер обмена
  1. $array = $_GET;

$_GET есть всегда
6. Строитель - 09 Апреля, 2017 - 15:36:13 - перейти к сообщению
Мелкий пишет:
$_GET есть всегда
Я этого не учёл. Благодарю )

 

Powered by ExBB FM 1.0 RC1