ホームページ >バックエンド開発 >PHPチュートリアル >PHP フロー制御ステートメント_PHP チュートリアル
phpフロー制御ステートメント
条件付き制御ステートメントとループ制御ステートメントは、2 つの基本的な文法構造です。これらはプログラムの実行フローを制御するために使用され、プログラムの主な文法の基礎でもあります。
プログラムの3つの制御構造
条件付き制御ステートメント
ループ制御ステートメント
ジャンプステートメント
ステートメントが含まれています
1. プログラミング構造には、シーケンシャル構造、選択(分岐)構造、ループ構造の 3 種類があります。
ループ構造は、1 行以上のコードを必要なだけ繰り返し実行できます。ループ構造は、テスト前ループとテスト後ループの 2 つのタイプに分けられます。
事前テストループ。最初に判断してから実行します。
テスト後のループは、最初に実行してから判断します。
条件付き制御ステートメント: if、slse、elseif、switch
ループ制御ステートメント: while、do...while、for、foreach
ジャンプ制御ステートメント: ブレーク、継続、リターン
2. 条件付き制御ステートメント
いわゆる条件制御ステートメントは、ステートメント内のさまざまな条件の値を判断し、さまざまな条件に従ってさまざまなステートメントを実行します。条件制御ステートメントには、if 条件制御ステートメントと switch multi- ステートメントの 2 つの主なステートメントがあります。分岐ステートメント。
1. if 条件付き制御ステートメントは、すべてのプロセス制御ステートメントの中で最も単純で最も一般的に使用されます。取得されたさまざまな条件に基づいてさまざまなステートメントが実行されます
if(式)
ステートメント; //基本的な式
if(){} //複数の条件文を実行する式
if(){}else{} //else による拡張式
if(){}elseif(){}else{} //複数の条件を同時に判定するためにelseifを追加した式です
// パラメータ expr はブール値に従って評価され、true の場合はステートメントが実行され、FALSE の場合、その if ステートメントは他の if ステートメントに無限にネストされて実行されます。条件。
2. switch マルチブランチ ステートメント: switch ステートメントは、if 条件制御ステートメントに似ており、同じ式を多くの異なる値と比較し、同じ値を取得し、同じ値に対応するステートメントを実行します。
case expr1; //case文の後に配置し、条件変数exprと照合する値の1つとします
Statement1; //条件が一致した場合に実行されるコード
Break; // ステートメントの実行を終了します。つまり、ステートメントの実行中にマスターは実行を停止し、ループから抜け出します
ケースexp2;
ステートメント2;
休憩
デフォルト;
声明N;
休憩
}
3. ループステートメント
ループ文とは、条件が成立したときに処理を繰り返し実行するもので、PHPではwhileループ文、do..while、for、foreachループの4つのループ制御文が用意されています
。1. while ループ文は、演算を繰り返し実行する機能で、式の値が 0 でない場合に最もよく使用されます。の場合、while 文内の埋め込み文が実行されます。式の値が 0 の場合、while 文内の埋め込み文は実行されません。このステートメントの特徴は、式が最初に判断されてからステートメントが実行されることです。
例: while(expr){
ステートメント;
//while 式の expr の値が TRUE である限り、ネストされたステートメント ステートメントは繰り返し実行されます。while 式の値が FALSE の場合、ループ ステートメントは一度も実行されません。
while ループ ステートメント:
$b=10;
while ($a<=$b){
$p=40*12*$a;
echo "aaaa:".$a."bbbbb:".$p."
";
$a++;
}
2. do..while ループ文の使い方も while と同様で、式の値を判定してループ文を出力します。このステートメントの操作の流れは、まず指定されたループ ステートメントを 1 回実行し、式の値が 0 以外の場合は戻ってループ本体ステートメントを再実行する、というようになります。式が 0 と評価されるまで。特徴は、ループ本体を先に実行してから、ループ条件が成立するかどうかを判定することです。
例:
する{
文; //プログラムは判定前にループを実行し、while 部分までループした後に条件を判定します。条件が満たされていない場合でも、プログラムはすでに実行されています。
}while(expr);
while ステートメントと do..while ステートメントの違い: do..while ステートメントは式の値が TRUE であるかどうかに関係なく、最初に実行されてからループが実行されますが、while ステートメントは最初に値が TRUE であるかどうかを判断します。式の値が TRUE の場合、ループ ステートメントは実行され、それ以外の場合はループ ステートメントは実行されません。
3. for ループ ステートメントは、PHP で最も複雑なループ制御ステートメントであり、3 つの条件式があり、構文は次のとおりです。
for(expr1;expr2;expr3){
声明
}
expr1 必須パラメータである最初の条件式は、最初のループの開始時に実行されます
expr2 は必須パラメータであり、ループが継続するかどうかを決定するために各ループの開始時に実行される 2 番目の条件式です
expr3 の必須パラメーターである 3 番目の条件式は、各ループの最後に実行されます
statenebt 必要なパラメータ、条件を満たした後にループで実行されるステートメント
実行処理は、まず式1を実行し、次に式2を実行し、式2の値を判定します。値がtrueの場合、forループ文に指定された埋め込み文を実行します。値がfalseの場合、ループを終了し、飛び出します。 for ループ ステートメントの最後に式 3 を実行し (式 2 の値が true の場合は実行しない)、式 2 を返してループの実行を継続します。
foreach ループ制御ステートメントは、PHP 4 以降で導入されました。これは主に配列を処理するために使用され、このステートメントを他のデータ型または初期化された変数の処理に使用すると、エラーが発生します。このステートメントの構文には 2 つの形式があります:
foreach(array_expression as $key=>value){
声明
}
または
foreach($value としての配列式){
声明
}
4. ジャンプステートメント
Jump ステートメントは主に、break ステートメント、 continue ステートメント、および return ステートメントの 3 つの部分に分かれています。最初の 2 つのジャンプ ステートメントは、for ループなどの特定の環境に適用されるため、非常に簡単に使用できます。声明の中で。 return ステートメントは、前の 2 つに比べてアプリケーション環境では比較的単純であり、通常はカスタム関数やオブジェクト指向クラスで使用されます。
Break キーワードは、while、do..while、for、foreach、switch などのすべての制御ステートメントを含む現在のループを終了できます。break ステートメントは、現在のループから抜け出すだけでなく、抜け出すループの数も指定できます。形式は次のとおりです: Break n; パラメータ n は、ジャンプするループの数を指定します。
continue Jump ステートメントは、break を実行した後、ループから抜け出し、ループ本体の後続のステートメントの実行を継続します。このステートメントは、このループを終了して開始することしかできません。次のループ。 contiue ステートメントの実行後、プログラムはこのループの実行を終了し、次のラウンドのループ実行を開始します。 continue では、何回ループから抜け出すかを指定することもできます。
Break ステートメントと continue ステートメントはどちらもジャンプ関数を実装しますが、Continue ステートメントはループ全体の実行ではなく現在のループを終了するだけですが、break ステートメントはループ プロセス全体を終了し、条件が満たされるかどうかを決定しません。ループの実行が確立されます。
5. ステートメントを含む
外部ファイルを参照すると、コードの再利用性が低下する可能性があります
require() ステートメントは include() ステートメントに似ており、両方とも外部ファイルへの呼び出しを実装し、構文 require(filename); require() ステートメントを使用してファイルをロードする場合、php ファイルの一部として実行されます。たとえば、require() を使用して Web ファイルをロードすると、そのファイル内のすべての php コマンドが処理されます。ただし、php スクリプトが単に html Web ページに配置された場合は処理されません。
include_once() ステートメント、include_once() と include() 関数の違い。 include_once() 関数を使用して同じファイルを複数回呼び出す場合、プログラムはそれを 1 回だけ呼び出します。基本的に include 関数と同じです。唯一の違いは、include_once 関数はファイルをインポートする前に、ファイルがページの他の部分にインポートされているかどうかを確認することです。この違いは、ファイルが繰り返しインポートされないことです。は非常に重要です。いくつかのカスタム関数をインポートする場合、それらを繰り返しインポートすると問題が発生します。
require_once() ステートメントは require の拡張であり、同様の機能があります。 include_once() ステートメントと同じ意味です。 require_once ステートメントが同じページ上の 2 つの同一のファイルを呼び出した場合、出力中に最初のファイルのみが出力され、最初に呼び出されたファイルは出力されません。
include() ステートメントと require() ステートメントの違い:
require()文でファイルを呼び出す際、ファイルが見つからない場合はエラーメッセージが出力され、include()が見つからない場合は警告が出力されてスクリプト処理が終了します。終了されません。
require() ステートメントでファイルを呼び出すと、プログラムが実行されるとすぐに外部ファイルが呼び出されます。 include() ステートメントで外部ファイルが呼び出される場合、外部ファイルはプログラムが実行されるときにのみ呼び出されます。声明。
require_once() ステートメントと include() ステートメントの違い: これらの目的は、インクルードされるファイルを 1 回だけインクルードできるようにすることです。これにより、同じ関数ライブラリを誤って複数回インクルードして、関数の定義が繰り返されてエラーが発生することを防ぐことができます。 2 つの間の違いは、require() と include() の違いと同じです。
レビュー:
1. シーケンシャル構造、
2. (分岐) 構造を選択します
3. ループ構造
4. 2種類の条件制御文を学ぶ
5. 4種類のループ制御文を学ぶ
6. 3種類のジャンプ文を学ぶ
7. ステートメントが 2 種類含まれている、4 種類である必要がある、およびそれらの違い
著者「テクノロジー・イズ・キング」