![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
function stripslashes_array(&$array)
{
while(list($key,$var) = each($array))
{
if ($key != 'argc' && $key != 'argv' && ((strtoupper($key) != $key) || (''.intval($key) == "$key")))
{
if (is_string($var))
{
$array[$key] = stripslashes($var);
}
if (is_array($var))
{
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
这个函数用来去除转义,但是有几点看不明白.
问题就发生在 if ($key != 'argc' && $key != 'argv' && ((strtoupper($key) != $key) || (''.intval($key) == "$key"))) 这一行中....
1.为什么key不能为argc和argv呢?
2.为什么要把key转换成大写,再进行不等于比较呢?也就是说key不能为大写?
3.最后一个应该就是key可以为数字了,但是很奇怪的是''.intval($key) == "$key" 注意看看还''.然后再使用intval函数.为什么呢?
4.我用键为0的数组进行调用,可是没有效果.
[ 本帖最后由 hgaoping 于 2007-5-28 03:12 PM 编辑 ]

