是否有一个像$ _GET一样的函数? 我指的是一个转换
的函数"?var1=5&var2=true"
到
$var1=5;
$var2="true";
这样我可以在函数中使用一个变量(字符串)并从中获取许多变量吗?
像:
function manual_GET($args){ /* ? */}
function myFunction($args)
{
manual_GET($args);
if(isset($var1))/* doesn't have to be this way, btw */
{
do_something($var1);
}
//etc
}
P.S。 :我不想将$ _GET与URL一起使用,因为这个文件是一个类文件(即database_library.php)所以我不直接执行它,也不进行AJAX调用。我只是require_once();
。
答案 0 :(得分:5)
是的,有。它被称为parse_str
:http://php.net/manual/en/function.parse-str.php
答案 1 :(得分:2)
解决问题的一种方法。
function myFunction($args){
return parse_str($args,$values);
}
答案 2 :(得分:1)
function parseQueryString($str) {
$op = array();
$pairs = explode("&", $str);
foreach ($pairs as $pair) {
list($k, $v) = array_map("urldecode", explode("=", $pair));
$op[$k] = $v;
}
return $op;
}
它的工作方式与parse_str
类似,但不会将空格和点转换为下划线
答案 3 :(得分:0)
“VAR1 = 5&安培; VAR2 =真”
foreach ($_GET AS $k=>$v){
$$k=$v;
}
echo $var1; // print 5
echo $var2; // print true