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遍历呢。
展开
 我来答
sunsoap
2009-08-05 · TA获得超过376个赞
知道答主
回答量:33
采纳率:100%
帮助的人:25.6万
展开全部
这个问题的关键在于你要理解
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 方法传递的变量组成的数组。是自动全局变量。)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式