修正方法: 1. "foreach ($array as &$value)" ステートメントを使用して配列を走査し、各ループで現在の配列のキー値を変数 "$value" に割り当てます。 2. ループ内 本体内で、「$value=new value;」ステートメントを使用して、右側の値を左側の変数「$value」に代入します。
![PHPでforeachステートメントを使用してキー値を変更する方法](https://img.php.cn/upload/article/000/000/024/613183a573628198.jpg)
#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
foreach は配列を走査するように設計されたステートメントは、配列を走査するときによく使用されるメソッドであり、配列を走査する際に非常に便利です。PHP5 以降では、オブジェクトも走査できるようになりました (foreach は配列とオブジェクトにのみ適用できます)。
foreach ステートメントは、配列の添字に関係なく配列を走査し、不連続なインデックス配列や文字列を添字として持つ連想配列に使用できます。
foreach ステートメントがループすると、配列内のポインタが 1 ステップ前に移動し、配列の終わりまで走査され、走査が停止して、次のループで次の配列要素が取得されます。ループが終了します。
php で foreach ステートメントを使用してキー値を変更するにはどうすればよいですか?
<?php
$array= array(1,2,3,4,5,);
foreach ($array as &$value) {
$value = $value*2; // 元素值乘以2
}
unset($value); // 最后取消掉引用
var_dump($array)
?>
出力結果:
![163063473473659PHPでforeachステートメントを使用してキー値を変更する方法 PHPでforeachステートメントを使用してキー値を変更する方法](https://img.php.cn/upload/image/317/355/476/163063473473659PHP%E3%81%A7foreach%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%AD%E3%83%BC%E5%80%A4%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95)
説明: foreach ステートメントがコピーではなく参照によって代入されるように、$value の前に & を追加します。値を指定し、ループ本体内で配列を操作すると、配列自体に影響します。
注: 配列の最後の要素の $value 参照は、foreach ループの後も保持されます。それを破棄するには unset() を使用する必要があります。
推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPでforeachステートメントを使用してキー値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。