1

有没有像 $_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
}

ps:我不想在URL中使用$_GET,因为这个文件是一个类文件(即database_library.php),所以我不直接执行它,也不进行AJAX调用。我就是require_once();这样。

4

4 回答 4

5

就在这里。它被称为parse_str: http: //php.net/manual/en/function.parse-str.php

于 2013-05-04T07:32:30.560 回答
2

修复它的一种方法。

function myFunction($args){
 return parse_str($args,$values);
}
于 2013-05-04T07:40:35.553 回答
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但不会将空格和点转换为下划线

于 2013-05-04T07:46:45.460 回答
0

"?var1=5&var2=true"

foreach ($_GET AS $k=>$v){
     $$k=$v;
}

echo $var1; // print 5
echo $var2; // print true
于 2013-05-04T09:17:20.880 回答