PHP自定义函数嵌套使用出错,单独使用不会?

为什么这两个函数单独使用没问题,要是在_html中调用_Clean_String就会出错,并且_Clean_String失效?

为什么这两个函数单独使用没问题,要是在_html中调用_Clean_String就会出错,并且_Clean_String失效?

比如:
$_a是一个数组,
<?php
print_r(_Clean_String(_html($_a)));
?>
这样是没问题的,但是如果
<?php
function _html($_string){
if (is_array($_string)) {
foreach ($_string as $_key=>$_value) {
$_string[$_key]=_html($_value);
}
}else{
return htmlspecialchars($_string);
}
return _Clean_String(_html($_string));
}
print_r(_html($_a)));
?>
这样就没效果了,不能过滤

如果程序走return htmlspecialchars($_string); 这个分支,那么不会调用 _Clean_String,最好调试下。

自己做个笔记:
这次出错的原因是$_system数组就是经过了_html函数的,所以产生了混乱。