foreachで直接値を変更する方法がわからなかった。
でも、PHPのマニュアルにしっかり書いてあった。
ループの中で配列の要素を直接変更したい場合は、 $value の前に & をつけます。
PHP5.6.28で確認した。
$array = ['Java', 'Python', 'C', 'PHP', 'Ruby', 'Perl', 'JavaScript']; // 普通のfor文 for($i = 0; $i < count($array); $i++) { echo $array[$i] . PHP_EOL; } // foreachを使った同じループ foreach($array as $value) { echo $value . PHP_EOL; } // foreachで値を編集するループ foreach($array as &$value2) { $value2 = 'edit'; echo $value2 . PHP_EOL; } var_dump($array);
コメント