【发布时间】:2025-12-02 20:30:01
【问题描述】:
我需要遍历多维数组的每个元素并修改内容。我为此使用了array_walk_recursive,但遇到了一个小问题。
例子:
$arr = array('cat'=>'cool', 2=>array('something'=>"<script>alert('hello');</script> hello!"));
print_r($arr); // something bad pops up
所以,使用这个:
function scrub_array($value, $key)
{
$value = scrub_string($value);
}
我调用:
array_walk_recursive($arr, 'scrub_array');
然后
print_r($arr);
讨厌的弹出窗口仍然出现。我知道scrub_string() 在直接应用时会删除 javascript。
数组值没有被修改的代码有什么问题?
【问题讨论】:
-
function scrub_array($value, $key)->function scrub_array(&$value, $key) -
谢谢,请张贴作为信用答案。
标签: php arrays recursion multidimensional-array