$arr = array ('name'=>'bunt','game'=>'battlefield','fame'=>'hero');
foreach ($arr as $key=>$val){
$val = ucfirst($val);
}
var_dump($arr);
// result would be
// 'name' => 'Bunt', 'game' => 'Battlefield', 'fame' => 'Hero'
我在这里遗漏了一些东西......如何实现这个目标?
答案 0 :(得分:7)
答案 1 :(得分:2)
$val
只是每次迭代中的临时变量。要更新每个键的值,您需要将其作为参考传递。这样做。
foreach ($arr as $key => &$val) {
$val = ucfirst($val);
}
请注意&
之后的$val
。
Here's关于PHP中引用的一些文档。
答案 2 :(得分:0)
foreach($ arr as $ key =>& $ val){ $ val = ucfirst($ val); }
放一个&在$ val之前签字。这将使它引用变量而不是赋值。
答案 3 :(得分:0)
为什么不使用密钥来访问阵列?
<?php
$arr = array('name' => 'bunt', 'game' => 'battlefield');
foreach ($arr as $key => $val) {
$arr[$key] = ucfirst($val);
}
var_dump($arr);