php中有很多字符串操作,而往往这些字符串有可能在数组中或者是对象里,这里整理出一个通用的php处理函数,用于数组,对象,字符串等各种数据结构的处理,扔里面即可,无需另外判断数据结构。
上代码:
public function escapeVar(&$var)
{
if(!empty($var)){
if(is_array($var)){
array_walk_recursive($var, array($this,'escapeVar'));
}elseif(is_string($var)){
//这里写上你的处理逻辑,此处放了一个批量转义的函数
$var = htmlspecialchars($var,ENT_COMPAT,'UTF-8');
}elseif(is_object($var)){
if(method_exists($var,'toArray')){
$arr = $var->toArray();
$this->escapeVar($arr);
foreach($arr as $k=>$v){
$var->$k = $v;
}
}
}
}
}
此示例可用于批量转义字符串,字符串批量替换,批量转换字符串大小写,批量处理数据库出来的数据的字符编码等等。