PHP では、foreach ステートメントを使用して配列をループします。ループが実行されるたびに、現在の配列要素の値が value 変数に割り当てられます (配列ポインターは 1 つずつ下に移動します)。
コードは次のとおりです
コードをコピー |
|
/* php foreach ループの簡単な例 */
$a = array('a'=>'オンライン','b'=>'友達','c'=>'その他',);
// これはハッシュ配列です。コンテンツを出力します
foreach ($a as $key => $value) {
エコー $key . $value
}
?>
$a = array('a'=>'オンライン','b'=>'友達','c'=>'その他',);
初めて foreach の実行を開始し、$key='a';$value='online'; を実行します。
出力後に2回目を実行します。このとき、 $key='b';$value='friend'; となります。
出力後に 3 回目を実行します。このとき、 $key='c';$value='other'; となります。
この時点で、配列は最後に到達し、ループを終了します
例
コードは次のとおりです
コードをコピー
|
|
1、「2」=>2、「3」=>3、「4」=>4);
foreach($array1 as $key=>$value)
{echo "KEY:$key value: $value n";}
$array2=配列(5,6,7,8);
foreach($array2 as &$value)
{
$value=$value*2;
エコー "$valuen";
}
?>
結果は
$array1=array("1"=>1,"two"=>2,"three"=>3,"four"=>4);
foreach($array1 as $key=>$value)
{echo “KEY:$key value: $value n”;}
$array2=配列(5,6,7,8);
foreach($array2 as &$value)
{
$value=$value*2;
echo “$valuen”;
}
?>
理解を容易にするために、ここでの $array は 1 次元の関連配列、$key は配列のインデックス、$value はこのインデックスの値、それらの名前は任意であり、それらが呼び出される理由を仮定します。 $keyと$valueは理解しやすいです。 foreach の作業プロセスをより深く理解するために、配列を作成してみましょう:
$array = array('first'=>'ibm','next','hp'); |
ここで、PHP サービスをシミュレートし、foreach を使用して $array を走査します。
コードは次のとおりです
コードをコピー
| foreach ($array as $key=>$value)
{ |
echo $key.'=>'$value;
}
最初のループ、$key = 'first'、$value = 'ibm'、この時点で、foreach は実際には $array に対して目に見えない操作を実行します
| foreach ループで参照を使用する場合は注意してください
間違いやすい問題を見つけたけど、原理は分かるけど説明できない
コードは次のとおりです
コードをコピー
| foreach ($array as &$row) {
$row =explode(‘/’, $row); |
}
foreach ($array as $row) {
//何かをしてください
}
このように書くと、2番目のループでdo somethingを追加した場所は、ループが最後のループに達すると、最後から2番目の要素が出力されます。 、最後ではありません
こうやって書いてください
コードは次のとおりです |
コードをコピー |
foreach ($array as &$row) {
$row =explode(‘/’, $row);
}
unset($row);
foreach ($array as $row) {
//何かをしてください
}
または、最初のループを次のように書きます
foreach ($array as $key => $row) {
$array[$key] =explode(‘/’, $row);
}
|
|
http://www.bkjia.com/PHPjc/633099.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633099.html技術記事 php では、foreach ステートメントを使用して配列をループします。ループが実行されるたびに、現在の配列要素の値が value 変数に割り当てられます (配列ポインターは 1 つずつ下に移動します)。以下の通り...