原代码如下:function addslashes_deep($value)
{
$value = is_array($value) ? array_map("addslashes_deep",$value) : addslashes($value);
return $value;
}我想把以上代码放进一个类里:class SafeClass
{
function addslashes_deep($value)
{
$value = is_array($value) ? array_map("addslashes_deep",$value) : addslashes($value);
return $value;
}
}粗体部分:addslashes_deep 是必须要加 $this-> 的,但是我加成 "$this->addslashes_deep 之后,系统提示错误,我也知道这样加是不行.哪有没有什么办法?把安全一类的涵数全部封装到一个类里?谢谢 !
{
$value = is_array($value) ? array_map("addslashes_deep",$value) : addslashes($value);
return $value;
}我想把以上代码放进一个类里:class SafeClass
{
function addslashes_deep($value)
{
$value = is_array($value) ? array_map("addslashes_deep",$value) : addslashes($value);
return $value;
}
}粗体部分:addslashes_deep 是必须要加 $this-> 的,但是我加成 "$this->addslashes_deep 之后,系统提示错误,我也知道这样加是不行.哪有没有什么办法?把安全一类的涵数全部封装到一个类里?谢谢 !
参见:
array_map(array($this,'Strip_Magic_Slashes'), $varImp)
{
function addslashes_deep($value)
{
$value = is_array($value) ? array_map(array($this,'addslashes_deep'),$value) : addslashes($value);
return $value;
}
}
Warning: array_map() [function.array-map]: The first argument, 'Array', should be either NULL or a valid callback in D:\web_root\dflash\include\lib\inc.class.safe.php on line 6
还是提示错误啊!!!!
array_map第一个参数既不可以为null也不可以为递归。
把转换放在另一个方法里就行了。
{
function addslashes_deep($value)
{
$value = is_array($value) ? array_map('addslashes_deep',$value) : addslashes($value);
return $value;
}
}感觉写的不行,实现不了循环
<?php
class Safe
{
function addslashes_deep($value)
{
$value = is_array($value) ? array_map(array($this,'addslashes_deep'),$value) : addslashes($value);
return $value;
}
}
$safe = new Safe();
$ar = array('"123\\',array('"123\\','"123\\'));
$ar = $safe->addslashes_deep($ar);
var_export($ar);
?>没问题呀。
你是不是静态调用了?
要静态调用的话用 self 就行了。
<?php
class Safe
{
public static function addslashes_deep($value)
{
$value = is_array($value) ? array_map(array(self,'addslashes_deep'),$value) : addslashes($value);
return $value;
}
}
$safe = new Safe();
$ar = array('"123\\',array('"123\\','"123\\'));
$ar = Safe::addslashes_deep($ar);
var_export($ar);
?>
请 phpBoy005 兄指导一下! 谢谢 !