用空格PHP替换下划线

时间:2015-04-10 02:22:22

标签: 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($arr)),array_values($arr));
    foreach($arr as $key=>$val)
    {
        if(is_array($val)) fixArrayKey($arr[$key]);
    }
}

fixArrayKey($array);
print_r($array);

编辑1:

我还想搜索true的所有条目,并将其替换为同一数组中的YES,这个目标的最佳解决方案是什么。

2 个答案:

答案 0 :(得分:3)

我建议使用array_walk_recursive

$array = array('this_that','is','an','array');

array_walk_recursive($array,function(&$v){
    $v = str_replace('_',' ',$v);
});

print_r($array);

答案 1 :(得分:0)

试试这个:

$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);