[英]Recursively work through an array in php to modify the leaf
I hve the following array 我有以下数组
$array = array(
array(
"name" => "Jacky O'Macky",
"groups" => array (
array (
"Joseph O'Brien",
"Jenna Williams"
),
array (
"Shaq O'Neil",
"John Fabio"
)
)
),
array(
"name" => "Nate O'Grady",
"groups" => array (
array (
"Joseph O'Brien",
"Jenna Williams"
),
array (
"Shaq O'Neil",
"John Fabio"
)
)
)
);
I would like to go through each array and use the htmlspecialchars()
to handle the names with apostrophe's and keep the same multi-dimensionally array structure. 我想遍历每个数组,并使用
htmlspecialchars()
处理带有撇号的名称,并保持相同的多维数组结构。
Here is what I have so far 这是我到目前为止的
function htmlentities_array($array)
{
if (is_array($array))
{
foreach($array as $key => $value)
{
if (is_string($value))
{
$array[$key] = htmlspecialchars($value);
}
else
{
$array[$key] = htmlentities_array($value);
}
}
}
else
{
$array = htmlspecialchars($array);
}
return $array;
}
I am calling this via $array = htmlentities_array(array)
. 我通过
$array = htmlentities_array(array)
称呼它。 It seems to only work on the first level. 它似乎仅在第一级上起作用。
Here you go 干得好
array_walk_recursive ($array, function(&$v,$k){
$v = htmlspecialchars($v, ENT_QUOTES);
});
print_r($array);
Output 输出量
Array
(
[0] => Array
(
[name] => Jacky O'Macky
[groups] => Array
(
[0] => Array
(
[0] => Joseph O'Brien
[1] => Jenna Williams
)
[1] => Array
....
Simple... 简单...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.