首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数组上应用htmlentities ENT_QUOTES

在数组上应用htmlentities ENT_QUOTES
EN

Stack Overflow用户
提问于 2011-12-15 17:03:58
回答 2查看 4.7K关注 0票数 1

我有一个数组$fields:

代码语言:javascript
复制
Array
(
    [NAME] => M'y Na'me
)

我想把这些撇号转换成实体。当我运行时:

代码语言:javascript
复制
array_map('htmlentities', &$fields, array_fill(0 , count($fields) , ENT_QUOTES) );

然后print_r $fields看起来什么都没有改变?

代码语言:javascript
复制
Array
(
    [NAME] => M'y Na'me
)

如何在$fields中的所有元素上应用带有ENT_QUOTES的htmlentities

编辑:这让我丢了钥匙

代码语言:javascript
复制
$fields = array_map('htmlentities', $fields, array_fill(0 , count($fields) , ENT_QUOTES) );
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-15 17:05:38

根据文档,array_map返回一个新的数组,并且不会原地修改传入的数组。

代码语言:javascript
复制
$fields = array_map(
    'htmlentities', &$fields,
    array_fill(0 , count($fields) , ENT_QUOTES)
);

根据评论编辑--

既然这是PHP,我想最好的方法就是放弃函数路由,用老式的方法来做:

代码语言:javascript
复制
foreach($fields as $key => $value) {
    $fields[$key] = htmlentities($value, ENT_QUOTES);
}
票数 4
EN

Stack Overflow用户

发布于 2011-12-15 17:07:26

即使将数组作为引用传递,array_map也不会修改数组。

请改用$fields = array_map('htmlentities', $fields, ...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8517521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档