如何编写类似于$ _GET的函数?

时间:2013-05-04 07:31:27

标签: php function get

是否有一个像$ _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();

4 个答案:

答案 0 :(得分:5)

是的,有。它被称为parse_strhttp://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