пятница, 2 октября 2009 г.

Автоматическая инициализация параметров скрипта

Функция parse_str() получает строку, имеющую формат запроса к php-скрипту, извлекает из неё все параметры и сохраняет в соответствующих переменных. Заметьте, что функция ничего не возвращает, то есть больше похожа на процедуру.

Итак, пусть ваш сценарий называется page.php и пусть он был запущен с такими параметрами: page.php?act=show&id=3. Если в этом сценарии присутствует такая строка:


// ничего не возвращает, но инициализирует переменные
parse_str($_SERVER['QUERY_STRING']);

То будут проинициализированы две переменные: $act значением 'show' и $id, равное 3.

В достаточно простых сценариях инициализация отдельных переменных допустима. Но что делать, если в вашем скрипте довольно много переменных, да и строка запроса содержит десяток параметров? Читаем документацию: если передать функции второй параметр, то в него будут записаны все эти значения как элементы массива.


parse_str($_SERVER['QUERY_STRING'], $query_mass);
echo $query_mass['act']; // == 'show'
echo $query_mass['id'];  // == 3

Комментариев нет:

Отправить комментарий