使用parse_str
函数可以将查询字符串解析到变量中。该函数的原型如下:
void parse_str (string $str, array &$result)
其中,$str
参数为待解析的查询字符串,$result
参数是一个引用,表示解析结果将存放在此变量中。以下是使用parse_str
函数的完整步骤:
- 首先,通过
$_SERVER['QUERY_STRING']
获取到当前请求 URL 中的查询字符串,比如:
php
$query_string = $_SERVER['QUERY_STRING'];
- 然后,将查询字符串传入
parse_str
函数,并作为第二个参数传入一个数组,以将解析结果存储在该数组中:
php
$vars = array();
parse_str($query_string, $vars);
在上面的代码中,我们定义了一个名为$vars
的空数组,然后使用parse_str
函数将查询字符串解析到此数组中。最终,$vars
数组中就包含了查询字符串中的所有参数及其值。
另外,由于parse_str
函数将参数名和值都解析到一个数组中,因此可以通过使用 extract
函数来快速将解析结果存储到变量中。例如:
parse_str($query_string, $vars);
extract($vars);
下面给出两个示例说明:
示例1:解析简单查询字符串
假设当前请求 URL 中包含以下查询字符串:
page=2&sort=title&order=asc
可以使用以下代码将其解析到一个数组中:
$query_string = 'page=2&sort=title&order=asc';
$vars = array();
parse_str($query_string, $vars);
var_dump($vars);
输出结果为:
array(3) {
["page"]=>
string(1) "2"
["sort"]=>
string(5) "title"
["order"]=>
string(3) "asc"
}
示例2:利用extract函数快速将解析结果存储到变量中
假设当前请求 URL 中包含以下查询字符串:
name=Tom&age=24&email=tom@example.com
可以使用以下代码将其解析到多个变量中:
$query_string = 'name=Tom&age=24&email=tom@example.com';
$vars = array();
parse_str($query_string, $vars);
extract($vars);
echo $name; // 输出:Tom
echo $age; // 输出:24
echo $email; // 输出:tom@example.com
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php使用parse_str实现查询字符串解析到变量中的方法 - Python技术站