有没有办法将参数发送到回调函数而不先创建自己的函数?

Fra*_*wis 5 php arrays array-map htmlspecialchars

我有一个值数组,我想通过htmlspecialchars运行,但有一个这样的参数:

$param = htmlspecialchars($param, ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)

问题是,我有一个值数组,我想运行htmlspecialchars:

$array = array_map('htmlspecialchars', $array);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法将ENT_QUOTES传递给array_map回调?

我总是可以使用我自己的使用htmlspecialchars的函数,但如果有办法这样做会很好.


在下面的答案之后,这是我的最终结果:

$array = array_map('htmlspecialchars', $array, array_fill(0, count($array), ENT_QUOTES));
Run Code Online (Sandbox Code Playgroud)

这只是用$ array所拥有的值填充一个数组,并且它充满了ENT_QUOTE.

Tud*_*tin 3

如果您将第二个数组作为参数传递给array_map该数组,该数组将包含ENT_QUOTES与中的元素数量一样多的元素,这应该有效$array:

$quote_style = ENT_QUOTES;
$array = array('"',"'","''''''''''''\"");
$ent_quotes_array = array($quote_style, $quote_style, $quote_style);
$array = array_map('htmlspecialchars', $array, $ent_quotes_array);
print_r($array);
Run Code Online (Sandbox Code Playgroud)

或者,更优雅一点:

$array = array('"',"'","''''''''''''\"");
$ent_quotes_array = array_fill(0, sizeof($array), ENT_QUOTES);
$array = array_map('htmlspecialchars', $array, $ent_quotes_array);
Run Code Online (Sandbox Code Playgroud)