Javascript 用空格替换下划线
我想在数组中搜索并将所有出现的下划线替换为空格,然后用新行字符将该数组内爆为字符串 但是,我在替换数组中的下划线时遇到了困难 这是我的代码:Javascript 用空格替换下划线,javascript,php,regex,Javascript,Php,Regex,我想在数组中搜索并将所有出现的下划线替换为空格,然后用新行字符将该数组内爆为字符串 但是,我在替换数组中的下划线时遇到了困难 这是我的代码: $array = array('this_that','is','an','array'); function fixArrayKey(&$arr) { $arr=array_combine(array_map(function($str){return str_replace("_"," ",$str);},array_keys($
$array = array('this_that','is','an','array');
function fixArrayKey(&$arr)
{
$arr=array_combine(array_map(function($str){return str_replace("_"," ",$str);},array_keys($arr)),array_values($arr));
foreach($arr as $key=>$val)
{
if(is_array($val)) fixArrayKey($arr[$key]);
}
}
fixArrayKey($array);
print_r($array);
编辑1:
$array = array('this_that','is','an','array');
function fixArrayKey(&$arr)
{
$arr=array_combine(array_map(function($str){return str_replace("_"," ",$str);},array_keys($arr)),array_values($arr));
foreach($arr as $key=>$val)
{
if(is_array($val)) fixArrayKey($arr[$key]);
}
}
fixArrayKey($array);
print_r($array);
我还想搜索true
的所有条目,并将其替换为同一数组中的YES
,这一目标的最佳解决方案是什么。尝试以下方法:
$array = array('this_that','is','an','array true');
function fixArrayKey(&$arr)
{
$arr=array_combine(array_keys($arr),array_map(function($str){return str_replace(Array('true','_'),Array('YES',' '),$str);},array_values($arr)));
foreach($arr as $key=>$val)
{
if(is_array($val)) fixArrayKey($arr[$key]);
}
return $arr;
}
fixArrayKey($array);
print_r($array);
echo implode("\n",$array);
我建议使用
漂亮干净的解决方案+1对于这样的工作,
array\u walk\u recursive
在这里是过分的:你可以用array\u map
做同样的事情,除非你真的需要嵌套arrays@Andreaop的代码是递归的,所以我假设这就是我们想要的,但是如果您不需要递归,那么array\u map
就足够了。这段代码专门用于修复下划线在数组的键中找到,而不是值。