dedecms,php问题,急
function_RunMagicQuotes(&$svar){if(!get_magic_quotes_gpc()){if(is_array($svar)){forea...
function _RunMagicQuotes(&$svar)
{
if(!get_magic_quotes_gpc())
{
if( is_array($svar) )
{
foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
}
else
{
$svar = addslashes($svar);
}
}
return $svar;
}
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
哪位老兄,帮忙介绍一下这两个函数的详细实现情况。其实功能我查php手册也清楚,就是对输入的内容转义。但问题是$$_request 这个echo 出来以后 就是 $_POST,$_GET,$_COOKIE。他不是数组呀,怎么能够foreach遍历呢。 展开
{
if(!get_magic_quotes_gpc())
{
if( is_array($svar) )
{
foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
}
else
{
$svar = addslashes($svar);
}
}
return $svar;
}
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
哪位老兄,帮忙介绍一下这两个函数的详细实现情况。其实功能我查php手册也清楚,就是对输入的内容转义。但问题是$$_request 这个echo 出来以后 就是 $_POST,$_GET,$_COOKIE。他不是数组呀,怎么能够foreach遍历呢。 展开
1个回答
展开全部
这个问题的关键在于你要理解
foreach(Array('$_GET','$_POST','$_COOKIE') as $_request)
这里 $_request 实际上是一个二维数组 。本身$_GET $_POST $_COOKIE就是系统数组变量 通过 Aarry 将其动态生成为 二维数组。你可以用 is_array($_POST)来判断。
这句话 foreach遍历后组变量$_request实际上的值是 通俗将就是指向'$_GET','$_POST','$_COOKIE'这三个东西的 指针。
因此 再次遍历 就能把具体的 '$_GET','$_POST','$_COOKIE' 内容echo出来了
如果对二维数组遍历理解不透 去查查PHP手册。特别强调下 Aarry的用法。PHP中Array 是比较强大的。
对 系统变量数组有什么疑问 你可以 参考下 以下网址
http://www.phpe.net/manual/reserved.variables.php
($_GET---通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量。)
foreach(Array('$_GET','$_POST','$_COOKIE') as $_request)
这里 $_request 实际上是一个二维数组 。本身$_GET $_POST $_COOKIE就是系统数组变量 通过 Aarry 将其动态生成为 二维数组。你可以用 is_array($_POST)来判断。
这句话 foreach遍历后组变量$_request实际上的值是 通俗将就是指向'$_GET','$_POST','$_COOKIE'这三个东西的 指针。
因此 再次遍历 就能把具体的 '$_GET','$_POST','$_COOKIE' 内容echo出来了
如果对二维数组遍历理解不透 去查查PHP手册。特别强调下 Aarry的用法。PHP中Array 是比较强大的。
对 系统变量数组有什么疑问 你可以 参考下 以下网址
http://www.phpe.net/manual/reserved.variables.php
($_GET---通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询