PHP将类似first_name的数组格式更改为first name

PHP将类似first_name的数组格式更改为first name,php,arrays,Php,Arrays,假设我有如下的数组 Array ( [0] => agent_name [1] => first_name [2] => my_last_name [3] => job [4] => job_description ) 现在我想把这个数组转换成下面的格式 Array ( 'agent_name' => 'Agent Name', 'first_name' => 'First Name',

假设我有如下的数组

Array
(
    [0] => agent_name
    [1] => first_name
    [2] => my_last_name
    [3] => job
    [4] => job_description
)
现在我想把这个数组转换成下面的格式

Array
(
    'agent_name' => 'Agent Name',
    'first_name' => 'First Name',
    'my_last_name' => 'My Last Name',
    'job' => 'Job',
    'job_description' => 'Job Description',
)
那么有谁能帮我,怎么设置成这样


谢谢

首先,您需要用空格替换字符
,然后使用函数将单词的首字母大写

<?php
$arr = array('agent_name', 'first_name', 'last_name', 'job', 'job_description');
$new_arr = array();
foreach($arr as $val){
    $new_arr[$val] = ucwords(str_replace("_", " ", $val));
}
print_r($new_arr);
?>

我使用和的组合来实现这一点

$a = array_combine($a,array_map(function($val) {
    return implode(' ',array_map('ucfirst',explode('_', $val)));
}, $a));

print_r($a);

这里正在工作。

我使用了阵列联合收割机

$Main_Array =  array('agent_name','first_name','my_last_name','job','job_description');
$New_array =  array();
foreach ($Main_Array as $key => $value) {
 $New_array[] = ucwords(str_replace('_',' ',$value));
}
$get_result = array_combine($Main_Array,$New_array);
echo '<pre>';
print_r($get_result);
$Main\u Array=Array('agent\u name','first\u name','my\u last\u name','job','job\u description');
$New_array=array();
foreach($key=>$value的主数组){
$New_array[]=ucwords(str_replace(“”,“”,“”,$value));
}
$get\u result=array\u combine($Main\u array,$New\u array);
回声';
打印(获取结果);

为什么不在同一阵列上使用一个简单的foreach



请向我们展示您的尝试。即使你还在学习,那也应该比什么都不重要。cf。特别是12、13、16和17。为了澄清,您是否只想更改数组的存储值(即,最后有['Agent Name','First Name',…])。还是要将索引数组转换为数组的键值存储类型?
<?php

$data = array
(
    0 => 'agent_name',
    1 => 'first_name', 
    2 => 'my_last_name', 
    3 => 'job', 
    4 => 'job_description'
);

foreach ( $data AS $k => $v )
{
    $data[$v] = ucwords ( str_replace ( '_', ' ', $v ) );

    unset ( $data[$k] );
}

print_r ( $data );

?>