<?
function slashescode($vars,$code)
{
$mg_state = get_magic_quotes_gpc();
foreach($vars as $val)
{
switch($code)
{
case "addslashes"://这里有个拼写错误
if(!$mg_state)
{
$val = $code($val);
$mg_state = 1;
}
break;
case "striplashes":
if($mg_state)
{
$val = $code($varl);
$mg_state = 0;
}
break;
}
}
return $val;//这里需要返回$val
}
$a= array("cn"=>"chinese","c"=>"china");
$b= slashescode($a,"addslashes");
echo $b;
?>
function slashescode($vars,$code)
{
$mg_state = get_magic_quotes_gpc();
foreach($vars as $val)
{
switch($code)
{
case "addslashes"://这里有个拼写错误
if(!$mg_state)
{
$val = $code($val);
$mg_state = 1;
}
break;
case "striplashes":
if($mg_state)
{
$val = $code($varl);
$mg_state = 0;
}
break;
}
}
return $val;//这里需要返回$val
}
$a= array("cn"=>"chinese","c"=>"china");
$b= slashescode($a,"addslashes");
echo $b;
?>
<?php
function slashescode($vars,$code)
{
$mg_state = get_magic_quotes_gpc();
foreach($vars as $key => $val)
{
switch($code)
{
case "addslahes":
if(!$mg_state) {
$vars[$key] = $code($val);
$mg_state = 1;
}
break;
case "stripslashes":
if($mg_state) {
$vars[$key] = $code($val);
$mg_state = 0;
}
break;
}
}
return $vars;
}
$a= array("cn" => "chin\'ese", "c" => "china");
print_r($a);
$b= slashescode($a, "stripslashes");
print_r($b);
?>
function slashescode($vars,$code)
{
$mg_state = get_magic_quotes_gpc();
foreach($vars as $key => $val)
{
switch($code)
{
case "addslashes":
if(!$mg_state) {
$vars[$key] = $code($val);
$mg_state = 1;
}
break;
case "stripslashes":
if($mg_state) {
$vars[$key] = $code($val);
$mg_state = 0;
}
break;
}
}
return $vars;
}
$a= array("cn" => "chin\'ese", "c" => "china");
print_r($a);
$b= slashescode($a, "addslashes");
print_r($b);
{
$mg_state = get_magic_quotes_gpc();
foreach($vars as $key => $val)
{
switch($code)
{
case "addslashes":
if(!$mg_state) {
$vars[$key] = $code($val);
}
break;
case "stripslashes":
if($mg_state) {
$vars[$key] = $code($val);
}
break;
}
}
return $vars;
}
需要注意的是:这跟magic_quotes_gpc()的值有关的,另外还需要GET/POST/Cookie data.你用一个表单试一下就不一样了。
如果你用以下代码测试,那么只有当magic_quotes_gpc()的值为0的时候才会不一样的。
$a= array("cn" => "chin\'ese", "c" => "china");
print_r($a);
$b= slashescode($a, "addslashes");
print_r($b);