将下划线替换为空格和数组中大写的第一个字符

2022-08-30 22:50:04

我有以下数组。

$state = array("gujarat","andhra_pradesh","madhya_pradesh","uttar_pradesh");

预期输出

$state = array("Gujarat","Andhra Pradesh","Madhya Pradesh","Uttar Pradesh");

我想用单词的每个第一个字符转换数组值,并用.所以我使用这个循环来做,它按预期工作。UpperCase_space

foreach($states as &$state)
 {
    $state = str_replace("_"," ",$state);
    $state = ucwords($state);
 }

但我的问题是:是否有任何PHP函数可以根据我的要求转换整个数组?


答案 1

您可以使用该函数。array_map

function modify($str) {
    return ucwords(str_replace("_", " ", $str));
}

那么就使用上面的函数如下:

$states=array_map("modify", $old_states)

答案 2

需要使用的功能,如array_map

$state = array("gujarat","andhra_pradesh","madhya_pradesh","uttar_pradesh");
$state = array_map(upper, $state);
function upper($state){
    return str_replace('_', ' ', ucwords($state));
}
print_r($state);// output Array ( [0] => Gujarat [1] => Andhra pradesh [2] => Madhya pradesh [3] => Uttar pradesh )