用空格替换下划线PHP

Replacing underscores with spaces PHP

本文关键字:PHP 下划线 替换 空格      更新时间:2023-09-26

我想在一个数组中搜索,并将所有出现的下划线替换为空格,然后用换行符将该数组内爆为字符串。

然而,我在替换数组中的下划线时遇到了困难。

这是我的代码:

$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,这一目标的最佳解决方案是什么。

我建议使用array_walk_recursive

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

试试这个:

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