parse_str

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_strРазбирает строку в переменные

Описание

parse_str(string$string, array&$result): void

Разбирает строку string, которая должна иметь формат строки запроса URL и присваивает значения переменным в текущем контексте (или заносит в массив, если задан параметр result).

Список параметров

string

Входная строка.

result

Если указан второй параметр result, то вместо присвоения переменных в текущем контексте они будут сохранены в этом параметре в качестве элементов массива.

Внимание

Использовать эту функцию без параметра result крайне НЕ РЕКОМЕНДУЕТСЯ. Подобное использование объявлено УСТАРЕВШИМ с PHP 7.2. Начиная с PHP 8.0.0, параметр result является обязательным.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Список изменений

ВерсияОписание
8.0.0result больше не является необязательным.
7.2.0 Использование parse_str() без второго параметра будет вызывать ошибку уровня E_DEPRECATED.

Примеры

Пример #1 Использование parse_str()

<?php
$str
= "first=value&arr[]=foo+bar&arr[]=baz";

// Рекомендуемый подход
parse_str($str, $output);
echo
$output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

// НЕ РЕКОМЕНДУЕТСЯ
parse_str($str);
echo
$first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>

Так как имена переменных PHP не могут содержать пробелы и точки, эти символы будут заменены на символ подчёркивания. Такие же правила накладываются на имена ключей в массиве result, если он задан.

Пример #2 Соотношение имён parse_str()

<?php
parse_str
("My Value=Something");
echo
$My_Value; // Something

parse_str("My Value=Something", $output);
echo
$output['My_Value']; // Something
?>

Примечания

Замечание:

Все переменные создаются (или заносятся в массив) уже обработанные функцией urldecode().

Замечание:

Для получения текущей QUERY_STRING, можно использовать переменную $_SERVER['QUERY_STRING']. Кроме того, возможно вы захотите прочесть раздел о переменных вне PHP.

Смотрите также

  • parse_url() - Разбирает URL и возвращает его компоненты
  • pathinfo() - Возвращает информацию о пути к файлу
  • http_build_query() - Генерирует URL-кодированную строку запроса
  • urldecode() - Декодирование URL-кодированной строки
To Top