所以正確調用,我有這樣的代碼:雙美元變量沒有在函數
$str = '_POST';
print_r($$str);
//Works just fine
function request_var($name){
global $_POST;
$str = '_POST';
print_r($$str);
}
request_var('username');
// _POST not defined
什麼的request_var功能應該通過$ _POST,$ _GET,和$ _COOKIE變量做的是循環(按此順序),如果它找到傳遞的變量名稱,請停止查找並返回該值。
我有一個系統回來,按預期工作,但由於某種原因,現在它告訴我_POST not defined
,我不明白爲什麼?第一部分沒有錯誤,但第二部分完全不起作用。是不是$ _POST超級全球? (注:我只在global $_POST
中加入,看看能不能修好)
有沒有想法?
編輯:基於由其他用戶提供的答案(不能看到自己的名字在編輯畫面),我的解決辦法是這樣的:
function request_var($name,$default='',$force_type=false){
$end = $default;
$arrays = [$_POST,$_GET,$_COOKIE];
foreach($arrays as $array){
if(isset($array[$name])){
$end = $array[$name];
break;
}
}
return ($force_type) ? settype($end,gettype($default)) : $end;
}
echo request_var('username');
//Works just fine
是$ _ POST是超級全球http://www.php.net/manual/en/language.variables.superglobals.php –
請你問的問題,你可以看到,重複之前的一些研究有完全相同的問題,並解決您的問題 –
我做了,但「雙美元符號不適用於帖子」除了超全球化網頁沒有給出任何結果,我沒有讀得太遠。 – Jhecht