ホームページ バックエンド開発 PHPチュートリアル 2 つの for ループの説明を助ける

2 つの for ループの説明を助ける

Jun 23, 2016 pm 01:50 PM
サイクル 説明する

親愛なる皆さん、これは * を使用して逆直角三角形を出力する例です。私はこれら 2 つの for ループ、特に内部のループに詳しくありません。ありがとうございます。


に返信してください。ディスカッション (解決された計画)

なぜ外部変数 $i と等しい変数 $j を用意し、それを再度ループする必要があるのでしょうか?

まず、単一の for ループの意味を理解します。内側のループがなくなると、3 つの角はなくなりますが、縦 14 個になります *

    for($i=1;$i<15;$i++){        for($j=$i;$j<15;$j++){            echo "*";        }       echo "<br>";    }
ログイン後にコピー

$j = $i;

この 2 つの変数について、理解できるかどうかを確認するためにこれを言ってみます。
$i は行数を表します。つまり、最初のループは最初の行を表し、以下同様に合計 15 行になります。
$j は列数、つまり各行に何列あるかを表します。

理解しやすいように、コードを少し変更して四角形を出力します。変更場所: $j=1。

$j = $i;//是让内层循环的起始值等于外层的值//每次都少输出一个*//外层第一次循环,内层输出14个*//外层第二次循环,内层输出13个*//以此类推只到循环结束
ログイン後にコピー

for ループを理解しましょう

実際には 4 種類の直角三角形が出力できます

$i は行、$j は列として見ることができます

まず $j = のときの $i =1 を見てください。 1; j …………
1 回のループの後、最終的に 14 個の * が得られます。最初の行、合計14行、そして最後の行に1つ*、明確かどうかはわかりません

九九の出力とひし形の出力を練習してください

これなら理解できます。 i=1、2 番目の for ループを実行します 1

$i は実行される行数を制御します。

$j は 1 行あたりの出力数を制御します。

わかりやすいですね。

1行目からアスタリスクの数が減っていきますので、パターンを知っていればコードと組み合わせると理解しやすくなります。実際、このようにコードを書くこともできます。

リーリー

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2.8k 画面の解析とは何ですか? 2.8k 画面の解析とは何ですか? Jan 02, 2024 pm 12:21 PM

テレビ、コンピューター、携帯電話を購入するときに、2.8K スクリーンなど、K スクリーンが何枚あるかが紹介されるのをよく目にします。このとき、電子機器にあまり詳しくない友人もいて、この 2.8K 画面が何を意味するのか、解像度がどのくらいなのか興味を持つでしょう。 2.8k 画面とはどういう意味ですか? 回答: 2.8k 画面とは、画面解像度が 2880*18002K であり、水平ピクセル数が 2000 より大きいことを意味します。同じサイズの画面の場合、解像度が高いほど、画質は向上します。 。解像度の概要 1. 画面上の点、線、面はすべてピクセルで構成されているため、モニターに表示できるピクセルが多いほど、画像がより細かくなり、同じ画面領域に表示できる情報が増えます。 2. 解像度が高くなるほど画素数が増え、より鮮明な画像が撮影されます。

ラムダ式がループから抜け出す ラムダ式がループから抜け出す Feb 20, 2024 am 08:47 AM

ラムダ式がループから抜け出すには、特定のコード例が必要です。プログラミングにおいて、ループ構造は頻繁に使用される重要な構文です。ただし、特定の状況では、現在のループ反復を終了するだけでなく、ループ本体内で特定の条件が満たされたときにループ全体から抜け出したい場合があります。このとき、ラムダ式の特性は、ループから抜け出すという目標を達成するのに役立ちます。ラムダ式は匿名関数を宣言する方法であり、内部的に単純な関数ロジックを定義できます。通常の関数宣言とは異なり、

Go言語におけるループと再帰の比較研究 Go言語におけるループと再帰の比較研究 Jun 01, 2023 am 09:23 AM

注: この記事では、Go 言語の観点からループと再帰を比較します。プログラムを作成するとき、一連のデータや操作を繰り返し処理する必要がある状況に遭遇することがよくあります。これを実現するには、ループまたは再帰を使用する必要があります。ループと再帰はどちらも一般的に使用される処理方法ですが、実際のアプリケーションではそれぞれにメリットとデメリットがあるため、実際の状況を考慮してどちらの方法を使用するかを選択する必要があります。この記事では、Go 言語におけるループと再帰の比較研究を行います。 1. ループ ループとは、特定のコードを繰り返し実行する仕組みです。 Go言語には主に3つのタイプがあります

PHPは配列内のすべての値を返して配列を形成します PHPは配列内のすべての値を返して配列を形成します Mar 21, 2024 am 09:06 AM

この記事では、PHP が配列のすべての値を返して配列を形成する方法について詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 array_values() 関数の使用 array_values() 関数は、配列内のすべての値の配列を返します。元の配列のキーは保持されません。 $array=[&quot;foo&quot;=&gt;&quot;bar&quot;,&quot;baz&quot;=&gt;&quot;qux&quot;];$values=array_values($array);//$values は [&quot;bar&quot;,&quot;qux&quot;] になりますループを使用すると、配列のすべての値を手動で取得し、新しい値に追加できます。

Java Iterator と Iterable: エレガントなコードを書くためのステップ Java Iterator と Iterable: エレガントなコードを書くためのステップ Feb 19, 2024 pm 02:54 PM

Iterator インターフェイス Iterator インターフェイスは、コレクションを走査するために使用されるインターフェイスです。 hasNext()、next()、remove() などのいくつかのメソッドが提供されます。 hasNext() メソッドは、コレクション内に次の要素があるかどうかを示すブール値を返します。 next() メソッドは、コレクション内の次の要素を返し、それをコレクションから削除します。 Remove() メソッドは、コレクションから現在の要素を削除します。次のコード例は、Iterator インターフェイスを使用してコレクションを反復処理する方法を示しています。 Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java 関数での再帰呼び出しの代替手段は何ですか? Java 関数での再帰呼び出しの代替手段は何ですか? May 05, 2024 am 10:42 AM

Java 関数における再帰呼び出しの反復による置き換え Java では、再帰はさまざまな問題を解決するために使用される強力なツールです。ただし、場合によっては、反復を使用する方が効率が高く、スタック オーバーフローが発生しにくいため、より良いオプションになる場合があります。反復の利点は次のとおりです。 再帰呼び出しごとに新しいスタック フレームを作成する必要がないため、より効率的です。スタック領域の使用量が制限されているため、スタック オーバーフローが発生する可能性は低くなります。再帰呼び出しの代替としての反復メソッド: Java には、再帰関数を反復関数に変換するメソッドがいくつかあります。 1. スタックを使用する スタックを使用するのが、再帰関数を反復関数に変換する最も簡単な方法です。スタックは、関数呼び出しスタックに似た、後入れ先出し (LIFO) データ構造です。パブリックインファ

ベクトル化を使用して Python のループを置き換える ベクトル化を使用して Python のループを置き換える Apr 14, 2023 pm 07:07 PM

すべてのプログラミング言語はループから切り離せません。したがって、デフォルトでは、繰り返し操作があるたびにループの実行を開始します。しかし、多数の反復 (数百万行/数十億行) を扱う場合、ループの使用は犯罪です。数時間動けなくなって、後でそれがうまくいかないことに気づくかもしれません。ここで、Python でのベクトル化の実装が非常に重要になります。ベクトル化とは何ですか?ベクトル化は、データ セットに対する (NumPy) 配列操作を実装するための手法です。バックグラウンドで、配列または系列のすべての要素に操作を一度に適用します (一度に 1 行を操作する「for」ループとは異なります)。次に、いくつかのユースケースを使用して、ベクトル化とは何かを説明します。数値の合計を求めます##ループを使用します importtimestart

PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 Aug 07, 2023 pm 01:33 PM

PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 開発中、配列の走査やデータベース クエリ結果の処理など、繰り返しのタスクを処理するためにループ ステートメントを使用することがよくあります。ただし、ループのネストを使用すると、無限ループやネスト レベルが多すぎるなどのエラーが発生することがあり、この問題によりサーバーのパフォーマンスが低下したり、クラッシュする可能性があります。このようなエラーをより適切に処理し、対応するエラー メッセージを生成するために、この記事ではいくつかの一般的な処理方法を紹介し、対応するコード例を示します。 1. カウンターを使用して、

See all articles