ホームページ  >  記事  >  バックエンド開発  >  PHPのforループは配列を走査できますか?

PHPのforループは配列を走査できますか?

青灯夜游
青灯夜游オリジナル
2022-11-17 18:50:562140ブラウズ

PHP では、for ループは配列を走査できます。構文は "for($i=0;$i

PHPのforループは配列を走査できますか?

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

PHP の for ループは次のことができます。配列を走査します。

for ループは、ほぼすべての言語で使用できる配列を走査する方法であり、PHP 言語も例外ではありません。

1. for ループ ステートメントの構造分析

for ループでは、for ループの回数を制御する変数が事前に定義されます。したがって、for ループ ステートメントは、既知のループ数に基づいてループ操作を実行でき、スクリプトを実行する必要がある回数が明確にわかっている状況に適しています。

for ループの構文形式は次のとおりです。

for (初始化语句; 循环条件; 变量更新--自增或自减) {
    语句块;   
}

for ループ ステートメントは 4 つの部分に分解できます。そのうちの 3 つは ()# です。 ## 式と {} の「ステートメント ブロック」について、以下で分析してみましょう。

ステートメント分析:

  • #初期化ステートメント (式 1): 主にカウンターの設定に使用される変数値を初期化します。これはループの開始時の値です。このステートメントは最初のループ中にのみ実行され、それ以降は実行されません。

  • ループ条件 (式 2): ループ実行の制限条件。ループ本体内のコードを実行するかどうかを制御するために使用されます。条件が TRUE の場合、ループは続行されます。条件が FALSE の場合、ループは終了し、ループを直ちに終了します。


  • 変数更新 (式 3): インクリメントまたはデクリメント操作を伴う式。ループが実行されるたびに、カウンターの値が即座に変更されるため、ループが状況は徐々に「維持できなくなります」。


  • ステートメント ブロック: 条件が true と判断されたときに実行する必要があるいくつかのコード。


上記の説明は少し複雑ですか? for ループ ステートメントの

実行フローチャート を見て、for ループ ステートメントの実行を理解しましょう。プロセス:

PHPのforループは配列を走査できますか?

2. for ループ ステートメントは配列を走査します

まず始めましょう。コード例を通じて説明します。トラバースする方法を確認し、コードを分析することで詳細を学びます。

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($array);
echo "for循环遍历输出:<br/><br/>";
for ($i=0; $i < count($array); $i++) { 
    echo $array[$i] . "<br/>";
} 
?>

出力:


PHPのforループは配列を走査できますか?

#コード分析:


    初期化ステートメントは
  • $i=0

    です。例の配列はインデックス配列であり、配列の添え字はデフォルトで 0 から始まるため、ループの先頭の値は 0 である必要があります。 。

  • ループ条件
  • $i : count() 関数を使用して配列の長さを計算し、ループ条件は次のようになります。 $i &lt ; 配列長 $i = 配列長 の場合、$i がインデックス範囲を超えているため (インデックス範囲は 0#) ## ~ 配列の長さ - 1)。 変数の更新
  • $i
  • : 各ループの後、変数

    $i$i = 配列の長さになるまで自動的に 1 ずつ増加します。 、$i がインデックス範囲を超えているため、ループ条件が成立せず、ループが終了します。

    ##echo $array[$i] . "
    "
  • : ループするたびに、配列は
  • $i に基づきますvalue 配列要素を出力するための添字

    注: for ループを使用して配列を走査しても、配列の内部ポインタは変更されません。

注: for を使用して配列を走査する場合、次の制限があります:

1. 走査される配列は、インデックス配列 (つまり、数字として添え字が付けられた次の配列) は、連想配列 (文字列として添え字が付けられた配列) にすることはできません。

次のコードは次のとおりです。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(&#39;brand&#39;=>&#39;google&#39;,&#39;email&#39;=>&#39;Gmail&#39;,&#39;WebBrowser&#39;=>&#39;Chrome&#39;,&#39;phone&#39;=>&#39;Android&#39;);
for($i=1;$i<=count($arr);$i++){
echo $arr[$i];
}
?>


実行時にエラーが報告され、for が連想配列の走査には適していないことが示されます。

PHPのforループは配列を走査できますか?

2. for によって走査される配列は、インデックス配列だけでなく、添字も連続整数である必要があります。連続整数でない場合、プロンプトが表示されます。

<?php
header("Content-type:text/html;charset=utf-8");
$array=array(1=>&#39;Google&#39;,5=>&#39;Chrome&#39;,7=>&#39;Android&#39;,9=>&#39;Youtube&#39;,12=>&#39;Gmail&#39;);
//print_r($array);
 
for($i=0;$i<count($array);$i++){
echo $array[$i],"<br>";
}
?>

したがって、配列は走査されます。 for ループによる はインデックス配列である必要があり、添え字は連続している必要があります。

推奨: PHP 面接の質問の概要 (コレクション)>>《php ビデオ チュートリアル

以上がPHPのforループは配列を走査できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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