ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルの for ループ ステートメントのいくつかのバリエーション

PHP_PHP チュートリアルの for ループ ステートメントのいくつかのバリエーション

WBOY
リリース: 2016-07-21 15:59:58
オリジナル
874 人が閲覧しました

for ステートメントは、PHP (および多くの言語) のループ制御部分で最も基本的なステートメントであると言えます。for ステートメントの実行規則と基本的な使用法については、ここでは説明しません。for ステートメントのセクションを参照してください。 PHPマニュアルの。その構文は PHP マニュアルで次のように定義されています:

for (expr1; expr2; expr3)
statement


for ステートメントのいくつかの便利なバリエーションについて話しましょう。


1. 無限ループ

1つ目は、誰もが知っている無限ループ(「デッドループ」とも呼ばれます)です。空の式 null は構文的に有効であるため、for ステートメントの 3 つの式を空のままにすることができます。これにより、ネストされた for ステートメントが継続的に実行されます。

for (;;) {
//継続的に実行する必要があるステートメントを配置します
}
?>

一部のタスクは無限ループを使用しますが、ただし、ほとんどのプログラミング タスク、特に PHP が関係するタスクでは、無限ループを使用するときにループを終了するための条件が追加されます。

for (;;) {
//西暦 2199 年なら、ループから抜け出す
if (date('Y' ) ) = = '2199') {
空の expr1 の最も一般的な使用法は、より複雑な初期化作業を完了することです。



if (isset(

$i

)) {
unset(

$i
);
if ((int) date(
''
) <2008
) { $i = 1; }} else {
$i =3;}

for (;
$i<10;

$i
++) {エコー$ i;}

?>
同じように、反復式 expr3 を空白のままにすることもできます。これを使用して、さまざまな条件に応じてさまざまな反復を呼び出すなど、より複雑な反復を記述することもできます。 for ステートメント内の条件ステートメント expr2 を空白のままにすると、前述の無限ループになります。もちろん、ループから抜け出すタイミングを決定するために、より複雑な条件を追加することもできますが、ここでは繰り返しません。 3. 複数のループ 複数のループを使用して複数の変数を制御することも、for ステートメントで見落とされがちな機能です。以下の例のように、一般的なタスクでは 2 つのループが一般的に使用され、3 つ以上のループは通常あまり意味がありません。

for ($i = 0, $j = 10;$ i <= 10 ;$i++, $j--) {
echo
"$i + $j = 10rn";
}
?>
と上記のコードは出力します:
0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10


4. より複雑な式

for ステートメントの 3 つの式をより複雑に記述すると、最適化に使用できます。アルゴリズム。ループ本体のない for ステートメントを使用して、一部のタスクを完了することもできます。たとえば、累積または階乗を計算します:




//1 ~ 5 の累積結果を計算し、その値は $j

for (
$i ) に等しくなります。 = 1, $j = 0; $i <= 5;$j + = $i + +);echo
$j
;

// 1-5 の階乗結果を計算し、ビン値を $j

for (
$i = 1, $j = 1; $i <= 5;$j *= $i ++);エコー
$j
;
?>

例えば、PHP は C 言語の構文を使用しており、強力な for ループ文がその典型的な例です。


http://www.bkjia.com/PHPjc/317210.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/317210.html技術記事 for ステートメントは、PHP (および多くの言語) のループ制御部分で最も基本的なステートメントと言えます。for ステートメントの実行規則と基本的な使用法については、ここでは説明しません。P... を参照してください。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート