「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
PHPUtilプラグイン(その15・条件による繰り返し)
PHPUtilプラグインでは、条件が成立するかどうかによって、繰り返すかどうかを決めることができる機能もあります。
1.MTPHPWhileタグ
MTPHPWhileタグは、繰り返しの最初で条件を判断し、その条件が満たされている間は、繰り返しを行うテンプレートタグです。
条件の部分は、MTPHPIfタグと同じ書き方をします。
<mt:PHPWhile 条件> 条件を満たしている間行う処理 </mt:PHPWhile>
例えば、「何らかの処理を10回繰り返す」ということを考えてみます。
MTPHPForタグを使えば簡単に書けますが、それをMTPHPWhileタグで書くものとします。
この処理は以下のように考えることができます。
- 1.カウンタ用の変数に1を代入する
- 2.カウンタ用の変数が10以下かどうかを判断する
- 3.2.の条件を満たす間、繰り返す処理を実行する
- 4.カウンタ用変数の値を1増やす
- 5.2.に戻る
カウンタ用の変数の名前をctrにするとすれば、上記の流れをMTPHPWhileタグで書くと、以下のようになります。
<$mt:PHPSetVar name="ctr" value="1"$> <mt:PHPWhile name="ctr" le="10"> 繰り返す処理 <$mt:PHPSetVar name="ctr" op="++"$> </mt:PHPWhile>
2.MTPHPUntilタグ
MTPHPUntilタグは、「条件を満たすまで」繰り返しを行うタグです。
MTPHPWHileタグの「条件を満たしている間」と逆の動きになります。
例えば、前述の「何らかの処理を10回繰り返す」ということを、MTPHPUntilタグで書くとします。
「カウンタ用変数が10以下である間」は、「カウンタ用変数が10を超えるまで」とも考ても同じです。
このことから、以下のように書くことができます。
<$mt:PHPSetVar name="ctr" value="1"$> <mt:PHPUntil name="ctr" gt="10"> 繰り返す処理 <$mt:PHPSetVar name="ctr" op="++"$> </mt:PHPUntil>
3.MTPHPDoWhile/MTPHPDoUntilタグ
MTPHPWhile/MTPHPUntilタグと似たタグとして、MTPHPDoWhile/MTPHPDoUntilというタグもあります。
<mt:PHPDoWhileまたはmt:PHPDoUntil 条件> 条件を満たしている間行う処理 </mt:PHPDoWhileまたはmt:PHPDoUntil>
MTPHPWHile/MTPHPUntilタグは、繰り返しの最初に条件を判断します。
一方、MTPHPDoWHile/MTPHPDoUntilタグでは、繰り返しの最後に条件を判断します。
MTPHPWhile/MTPHPUntilタグでは、最初の条件判断の際に条件を満たしていれば、繰り返す処理を一度も行わないこともあり得ます。
一方、MTPHPDoWhlle/MTPHPDoUntilタグでは、繰り返す処理を行ってから条件判断するので、最低1回は繰り返す処理を行うことになります。
4.繰り返し系テンプレートタグのブロックの中で使える変数
MTPHPWhile/MTPHPUntil/MTPHPDoWHile/MTPHPDoUntilタグのブロックの中では、以下の各変数を使うことができます。
「__counter__」等の「__」は半角のアンダースコア2つです。
変数名 | 内容 |
---|---|
__counter__ | 繰り返し回数 |
__first__ | 繰り返しの最初なら1、それ以外ではnull |
__even__ | 偶数回目の繰り返しなら1、それ以外ではnull |
__odd__ | 奇数回目の繰り返しなら1、それ以外ではnull |
なお、MTPHPForタグ/MTPHPLoopタグとは異なり、「__last__」の変数は使うことができません。
5.PHPUtilプラグイン関係の記事の一覧
PHPUtil関係のその他の記事は、以下のリンクから参照できます。
- PHPUtilプラグイン(その1・概要とインストール)
- PHPUtilプラグイン(その2・ファイルの読み込み)
- PHPUtilプラグイン(その3・日時関係の処理)
- PHPUtilプラグイン(その4・ユーザーエージェントの判断)
- PHPUtilプラグイン(その5・変数の基本)
- PHPUtilプラグイン(その6・変数の計算)
- PHPUtilプラグイン(その7・配列の利用)
- PHPUtilプラグイン(その8・配列関係の関数)
- PHPUtilプラグイン(その9・ハッシュの利用)
- PHPUtilプラグイン(その10・GET/POSTされた値を得る)
- PHPUtilプラグイン(その11・条件判断前半)
- PHPUtilプラグイン(その12・条件判断後半)
- PHPUtilプラグイン(その13・一定回数の繰り返し)
- PHPUtilプラグイン(その14・配列/ハッシュの出力)
- PHPUtilプラグイン(その15・条件による繰り返し)
- PHPUtilプラグイン(その16・繰り返しを途中で抜ける)
- PHPUtilプラグイン(その17・関数の実行)
- PHPUtilプラグイン(その18・各種のグローバルモディファイア)