我有一个包含下划线或 _ 的字符串的数组,我需要使用str_replace用空格替换下划线,我想用 array_map()
array_map 可以使用只包含一个参数的函数,但 str_replace 需要三个参数:
我可以完美地使用foreach循环来执行以下操作,但我想知道如何使用 array_map 来执行此操作。我做了一些关于谷歌和stackoverflow的看法,但我找不到解决方案。
这是我拥有的数组的一个例子
$array = array("12_3","a_bc");
答案 0 :(得分:0)
这个问题的一个简单解决方案是创建一个包装函数,该函数使用str_replace以您希望的格式返回一个字符串,然后将其映射到数组。
虽然如果您阅读文档,它会说:“回调函数接受的参数数量应该与传递给array_map()的数组的数量相匹配”
第三个参数是:“要通过回调函数运行的数组参数的变量列表。”
所以你想做array_map(“function”,array_you_want_changed,array_of_paramters);
http://php.net/manual/en/function.array-map.php
见例3。
答案 1 :(得分:0)
以下是解决问题的方法。
$array = array("12_3","a_bc");
$find = array_fill(0, count($array), '_');
$replace = array_fill(0, count($array), ' ');
$out = array_map('str_replace', $find, $replace ,$array);
print_r($out);
答案 2 :(得分:0)
您可以尝试这样
<?php
function replace($array)
{
$replace_res = str_replace('_', ' ', $array);
return $replace_res;
}
$array = array("12_3","a_bc");
$result = array_map("replace", $array);
print_r($result);
?>