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 ); |
コメント