ホームページ >バックエンド開発 >PHPチュートリアル >forループを強化する
for ループは開いた境界です。その一般的な形式は次のとおりです: for(
目次
注意点
forループの強化
PHPのForループ
展開
この段落を編集
注意点
1. for ループ内のステートメントはステートメント本体にすることができますが、"{ " と "}" はループに参加するステートメントを囲みます。
2. forループ内の「初期化」「条件式」「増分」はすべてオプション、つまりデフォルトにできますが、「;」はデフォルトにできません。初期化は省略されます。つまり、ループ制御変数に初期値が割り当てられません。 条件式を省略した場合は、他の処理を行わずに無限ループとなります。インクリメントを省略した場合、ループ制御変数は操作されません。この場合、ステートメント本体にループ制御変数を変更するステートメントを追加できます。
3. for ループは複数レベルのネストを持つことができます。
例:
#include
int main(void)
printf("i j kn")
for (i=0; i printf(%d %d %dn", i, j, k);
return 0;
}
出力結果For: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
この段落を編集する
for ループを拡張する
J2SE 1.5 は、次の助けを借りて、別の形式の for ループを提供します。この形式の for ループは、配列やコレクションなどの型のオブジェクトを簡単に走査できます。この記事では、このループを使用する具体的な方法を紹介し、この方法で走査できるクラスを定義する方法と、このメカニズムについて説明します。いくつかの一般的な問題
Java プログラムでは、配列またはコレクション内の要素を「処理」または「走査」する場合、通常、これを実現するために for ループを使用します (もちろん、他のループを使用することも不可能ではありません)。さまざまなタイプのループを使用したいと考えていますが、for という単語の長さが比較的短いためなのか、それとも for という単語の意味がこの種の操作に適しているためなのかはわかりません。他のループよりも一般的に使用されます。)
配列を走査する場合、ループは通常次のように記述されます:
リスト 1: 配列を走査する従来の方法
/* 配列を作成します*/
int[] integers = {1 , 2, 3, 4};
/* トラバーサル開始*/
for (int j = 0; j int i = integers[j];
System.out.println(i) );
}
Collection オブジェクトを走査する場合、このループは通常次の形式を取ります:
リスト 2: Collection オブジェクトを走査する従来の方法
/* Create a Collection */
String[] strings = {"A", "B" , "C", "D"}
();
System.out.println(str);
}
Java 言語の最新バージョンである J2SE 1.5 では、別の形式の for ループが導入されています。この形式の for ループを使用すると、より簡単な方法でトラバース作業を実行できるようになります。
1. 第二種の for ループ
厳密に言うと、Java の第二種の for ループは基本的に次の形式になります:
for (ループ変数の型 ループ変数名: トラバースするオブジェクト) ループ本体
これを利用します構文を使用すると、配列を走査する操作は次のように記述できます。
リスト 3: 配列を走査する簡単な方法
/* 配列を作成する*/
int[] integers = {1, 2, 3,
; /* トラバース開始 */
for (int i : integers) {
System.out.println(i);/* 「1」、「2」、「3」、「4」を順番に出力 */
}
ここで使用される for ループはコンパイル中に次のように表示されます:
リスト 4: 配列を反復処理する簡単な方法の同等のコード
/* 配列を作成します*/
int[] integers = {1, 2, 3, 4 } ;
/* トラバース開始 */
for (int 変数名 A = 0; 変数名 A System.out.println (変数名 A);/* 「1」、「2」、「3」、「4」を順に出力 */
}
ここでの「変数名 A」はコンパイラ A によって自動生成されます。混乱を招かない名前。
コレクションを走査する操作は次のように書くこともできます:
リスト 5: コレクションを走査する簡単な方法
/* コレクションを作成する */
String[] strings = {"A", "B", "C " , "D"};
コレクションリスト = java.util.Arrays.asList(strings);
/* トラバース開始*/
for (Object str : list) {
System.out.println(str);/*順番に出力 "A"、"B"、"C"、"D" */
}
ここで使用される for ループは、コンパイル中に次の形式で表示されます: リスト 6: コレクションをトラバースする簡単な方法など。価格コード/* コレクションを作成します */
String[] strings = {"A", "B", "C", "D"}
Collection stringList = java.util.Arrays.asList(strings); * トラバース開始 */
for (Iterator 変数名 B = list.iterator(); 変数名 B.hasNext();) {
System.out.println(変数名 B.next());/* Output " A ", "B", "C", "D" */
}
ここでいう「変数名B」も、コンパイラが自動生成する混乱のない名前です。
コンパイル中に、J2SE 1.5 コンパイラーはこの形式の for ループを対応する従来の形式と見なすため、パフォーマンスの問題を心配する必要はありません。
この段落を編集
PHP の For ループ
//PHP の FOR ループは、次のように基本的に C 言語と一致しています。
for($i=1;$i<=100;$i++ ) {
Echo 'This is the '.$i.'th time';
}
//FOR ループを使用すると、単純な配列をループできます
$array=Array('0'=>'a0' ,'1'= >'b1','2'=>'c2','d'=>'d3');
for($i=0;$i<=count($array); $i++){
echo $array[$i];
}
//添え字が数値ではない配列の場合は、配列を走査するために FOREACH ループを使用することをお勧めします。
?>