热搜:NVER 

多维数组递归有关问题

2024-05-15 22:30:01
 多维数组递归有关问题

多维数组递归问题

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);
}
}