$fruits = array (
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'durian',
'e' => 'elderberry',
'f' => 'fig',
'g' => 'grape',
);
foreach ($fruits as $key => &$value) {
if ($key !== 'c') $value = ucfirst($value);
}
var_dump($fruits);
結果:
array(7) {
["a"]=>
string(5) "Apple"
["b"]=>
string(6) "Banana"
["c"]=>
string(6) "cherry"
["d"]=>
string(6) "Durian"
["e"]=>
string(10) "Elderberry"
["f"]=>
string(3) "Fig"
["g"]=>
&string(5) "Grape"
}
ん?
&string(5) "Grape"
最後だけ参照になってる?
むむむ。
これは、ちゃんと調べてから使わないと、大怪我の予感(;´Д`)
ちなみに、今まではこんな風にしてました。。
foreach (array_keys($fruits) as $key) {
if ($key !== 'c') $fruits[$key] = ucfirst($fruits[$key]);
}
あるいは、$valueを多用するような場合には
foreach (array_keys($fruits) as $key) {
$value = $fruits[$key];
if ($key !== 'c') $fruits[$key] = ucfirst($value);
}