我有一个数组$fields:
Array
(
[NAME] => M'y Na'me
)我想把这些撇号转换成实体。当我运行时:
array_map('htmlentities', &$fields, array_fill(0 , count($fields) , ENT_QUOTES) );然后print_r $fields看起来什么都没有改变?
Array
(
[NAME] => M'y Na'me
)如何在$fields中的所有元素上应用带有ENT_QUOTES的htmlentities
编辑:这让我丢了钥匙
$fields = array_map('htmlentities', $fields, array_fill(0 , count($fields) , ENT_QUOTES) );发布于 2011-12-15 17:05:38
根据文档,array_map返回一个新的数组,并且不会原地修改传入的数组。
$fields = array_map(
'htmlentities', &$fields,
array_fill(0 , count($fields) , ENT_QUOTES)
);根据评论编辑--
既然这是PHP,我想最好的方法就是放弃函数路由,用老式的方法来做:
foreach($fields as $key => $value) {
$fields[$key] = htmlentities($value, ENT_QUOTES);
}发布于 2011-12-15 17:07:26
即使将数组作为引用传递,array_map也不会修改数组。
请改用$fields = array_map('htmlentities', $fields, ...)。
https://stackoverflow.com/questions/8517521
复制相似问题