簡體   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