如何迭代n-deep数组来过滤字符串节点- PHP


How to iterate a n-deep array to filter string nodes - PHP

如何在字符串节点上迭代多维数组和过滤器?我正在尝试创建一种简单的方法来处理通过POST进入我的应用程序的数据,并认为这将是非常方便的。

您可以使用递归函数遍历数组并过滤其字符串组件。例如:

function doFilter($arr) {
    foreach ($arr as $key => $value) {
        if (is_string($value)) {
            $arr[$Key] = sanitize($value);
        } else if (is_array($value)) {
            $arr[$key] = doFilter($value);
        }
    }
    return $arr;
}
function sanitize($str) {
    // Perform necessary steps to sanitize $str
    return $str;
}

您需要使用递归

function sanitizePost($post) {
        if (is_array($post)){
            foreach ($post as $k => $p) {
                $post[$k] = sanitizePost($p);
            }
        } else {
            $post = sanatizeStringFunction($post); // may be use regex or something
        }
        return $post;
    }