ホームページ  >  記事  >  バックエンド開発  >  PHPでのforeachの使用法は何ですか

PHPでのforeachの使用法は何ですか

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-28 11:30:264284ブラウズ

PHPでのforeachの使用法は何ですか

PHP 4 では、Perl や他の言語と同様に、foreach 構造が導入されました。これは、配列を反復処理するための単なる便利な方法です。 foreach は配列でのみ使用でき、他のデータ型または初期化されていない変数で使用しようとするとエラーが発生します。 2 つの構文があり、2 番目の構文は重要度は低いですが、最初の構文を拡張したものです。

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

最初の形式は、指定された array_expression 配列を反復処理します。ループを通過するたびに、現在のセルの値が $value に割り当てられ、配列内のポインターが 1 ステップ前に移動します (そのため、次のループで次のセルが取得されます)。

2 番目の形式は同じことを行いますが、現在のユニットのキー名も各ループの変数 $key に割り当てられる点が異なります。

関連する推奨事項: 「PHP 入門チュートリアル

まず、最初のステートメントを見てみましょう。このステートメントは比較的単純です。array_expression は配列式を $ として参照します。 val ステートメントは配列の値を順番に取得し、$val 変数に保存します。このメソッドは配列内の値のみを取得できますが、配列の添字インデックス値は取得できません。例:

$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");
foreach($myArray as $val) {
     print($val." ");
}

結果は次のように出力されます: val1 val2 val3

2 番目の形式を見てみましょう。最初の形式と同様に配列内の要素の値を取得することに加えて、 2 番目の形式では、要素のインデックス値を取得して $key 変数に保存することもできます。配列のインデックス値が手動で設定されていない場合は、システムのデフォルト設定値に戻ります。

正の例を参照してください:

最初に単純な 1 次元配列を見てみましょう:

$myArray=array("1"=>"val1","2"="val2","3"=>"val3");
foreach($myArray as $key=>$val) {
     print($key."=>".$val.";");
}

プログラムは出力します: 1=>val1;2=>val2;3= >val3;、別のものを見てみましょう より複雑な 2 次元配列の走査、プログラムは次のとおりです:

$myArray=array(
     "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"),
     "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"),
     "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33")
);
print("<ul>");
foreach($myArray as $key=>$val) {
     print("<li>".$key."</li>");
     if (is_array($val)) {     //判断$val的值是否是一个数组,如果是,则进入下层遍历
         print("<ul>");
        foreach($val as $key=>$val) {
             print("<li>".$key."=>".$val."</li>");
         }
         print("</ul>");
     }
}
print("</ul>");

出力結果:

·1
    ·11=>val11
    ·12=>val12
    ·13=>val13
·2
    ·21=>val21
    ·22=>val22
    ·23=>val23
·3
    ·31=>val31
    ·32=>val32
    ·33=>val33

ff6d136ddc5fdfeffaf53ff6ee95f185 および

上記は2次元配列なので、1回目の走査後に得られる$valの値も配列になるので、2段目の配列走査の判定をトラバーサルに追加しました。

以上がPHPでのforeachの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。