Php 在多级数组上执行htmlspecialchars

Php 在多级数组上执行htmlspecialchars,php,arrays,loops,htmlspecialchars,Php,Arrays,Loops,Htmlspecialchars,我试图找到一种方法来循环遍历所有数据并删除所有HTML特殊字符。问题是我的数据可能有数组值,而数组本身可能有5或6个子数组。有人能帮我找到一个好方法吗。这是我到目前为止一直在使用的代码,但它跳过了所有子数组值 foreach($view['data'] as $key => $value){ // Check if Array if(!is_array($value)){ $view['data'][$key] = htmls

我试图找到一种方法来循环遍历所有数据并删除所有HTML特殊字符。问题是我的数据可能有数组值,而数组本身可能有5或6个子数组。有人能帮我找到一个好方法吗。这是我到目前为止一直在使用的代码,但它跳过了所有子数组值

    foreach($view['data'] as $key => $value){
        // Check if Array
        if(!is_array($value)){
            $view['data'][$key] = htmlspecialchars($value);
        }
    }
你想要

像这样:

 array_walk_recursive($view['data'], function($el){
     return htmlspecialchars($el);
 }); 

您可以使用
array\u walk\u recursive()
函数-


也许你想要一个递归函数?在特定情况下,如果有5到6个子数组(因此是动态数组),则必须使用递归函数在它们之间循环。检查:您忘记了返回语句。我忘记了函数参数的
&
。您不需要返回语句,请参见
array_walk_recursive($view['data'], function(&$item) {
  $item = htmlspecialchars($item);
});