多维数组递归问题
- PHP code
//为了实现内容中去除HTML A标签 function htmla(&$string) { if(is_array($string)) { foreach($string as $k=>$v) { $string[$k]=preg_replace("//","",$v); if(is_array($v)) { htmla($string[$k]); } } }else{ $string=preg_replace("//","",$string); } } $test=array(1,2,34,5,array("a"=>"而",1,23,array("df"=>"测试下"),array(23,32)),"b"=>"三"); htmla($test); var_dump($test); //结果 array(6) { [0] => string(1) "1" [1] => string(1) "2" [2] => string(2) "34" [3] => string(1) "5" [4] => array(5) { ["a"] => string(3) "而" [0] => string(1) "1" [1] => string(2) "23" [2] => string(5) "Array" //超过2维就没法转换了。。 [3] => string(5) "Array" } ["b"] => string(3) "三" }
------解决方案--------------------
foreach($string as $k=>$v)
{
//$string[$k]=preg_replace("//","",$v);
if(is_array($v))
{
htmla($string[$k]);
}
else
{
$string[$k]=preg_replace("//","",$v);
}
}