在PHP中,我需要一个函数来从URL转换查询字符串,比如说:http://example.com?key1=value1&key2=value2成为一个PHP关联数组:array ['key1' => 'value1', 'key2' => 'value2'].
我已经达到了这段代码.它有效,但我发现它有点冗长.(并且PHP内置了所有功能:我很惊讶我没有发现任何开箱即用的东西,就像反过来一样http_build_query.)
你能建议一个更好的方法吗?
function getUrlParams($url) {
$querystring = parse_url($url, PHP_URL_QUERY);
$a = explode("&", $querystring);
if (!(count($a) == 1 && $a[0] == "")) {
foreach ($a as $key => $value) {
$b = explode("=", $value);
$a[$b[0]] = $b[1];
unset ($a[$key]);
}
return $a;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
472*_*084 54
您可以使用parse_url()从URL中获取属性
一旦你有了,你可以使用parse_str()将它们转换为变量,它也适用于多维数组!
$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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33737 次 |
| 最近记录: |