htmlspecialchars()期望参数1是字符串,数组laravel?

时间:2017-05-30 09:25:35

标签: php arrays laravel htmlspecialchars

执行foreach时会发生此错误:

helpers.php第532行中的ErrorException: htmlspecialchars()期望参数1为字符串,给定数组为

$('.clsPer_Overage').on('keyup', function() {
    alert("1");
});

我正在生成这些对象来管理扇区中的一组键。

有人可以帮我找到一种方法来执行此代码。

1 个答案:

答案 0 :(得分:2)

是的,您已嵌套数组,但htmlspecialchars需要字符串。

来自https://gist.github.com/igorw/7628042的递归array_map下方,可以将htmlspecialchars应用于嵌套数组。

function array_map_recursive($f, $xs) {
    $out = [];
    foreach ($xs as $k => $x) {
        $out[$k] = (is_array($x)) ? array_map_recursive($f, $x) : $f($x);
    }
    return $out;
}

$data = [
    'foo' => [
        'bar' => [
            'baz' => [
                'lorem ipsum'
            ]
        ]
    ]
];

print_r(array_map_recursive('htmlspecialchars', $data));