繁体   English   中英

在数组上应用htmlentities ENT_QUOTES

[英]Applying htmlentities ENT_QUOTES on array

我有一个数组$ 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 htmlentity?

编辑:这使我失去钥匙

$fields = array_map('htmlentities', $fields, array_fill(0 , count($fields) , ENT_QUOTES) );

根据文档, 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);
}

即使您将其传递为引用, array_map也不会修改该数组。
请改用$fields = array_map('htmlentities', $fields, ...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM