我是PHP新手。对不起,如果这听起来很简单。
我有这个PHP关联数组:
$X = array(
'Model1' => '6',
'Model2' => '5',
'Model3' => '1'
);
我想把它转换成这样:
$Y = array(
'Model1' => 'prefix_Model1_postfix',
'Model2' => 'prefix_Model2_postfix',
'Model3' => 'prefix_Model3_postfix'
);
转换后的每条记录中的值都被替换为前缀,然后是键,然后是后缀。如何做到这一点?非常感谢。foreach
是一个好的开始吗?
是的,您可以轻松地使用foreach
:
$arr = array("Model1" => 6, "Model2" => 5, "Model3" => 1);
$prefix = "prefix_";
$postfix = "_postfix";
foreach($arr as $key => $val){
$arr[$key] = $prefix.$key.$postfix;
}
print_r($arr);
也可以使用array_walk
:
array_walk($x, function($val,$key) use(&$x) {
$x[$key] = 'prefix_' . $key . '_postfix';
});
使用内置函数和闭包的另一种方法:
<?php
$data = array(
'Model1' => '6',
'Model2' => '5',
'Model3' => '1',
);
$data = array_map(function($data){
return "prefix_Model{$data}_postfix";
}, $data);
var_dump($data);
?>