忍者ブログ
~お前もこの 気持ちよさにやられちまいな~
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Smartyのsectionを使ってPHPのforの動作を (2/2)
前回は記事タイトルのないように辿り着かずに終わってしまった
「Smartyのsectionを使ってPHPのforの動作を」
わざわざ2回に分けてまでPHPのforを説明する必要があったのか、かなり疑問が残りますが・・・

今回こそはメインであるSmarty編をやりまする。

※下記の方法はSmartyのsectionを曲解してPHPのforに強引に見たものです。
正式な理解および使用法はSmartyマニュアルを参照のこと。
前回説明したPHPのforの例文が

for($foo = 1 ; $foo < $bar ;  $foo++){
      print ($foo . "<br>");
}
 
です。動作は前回の記事を参照。 これをSmartyのSectionで再現します。

{section name=cnt  loop=$bar start=1 step=1}
      {$smarty.section.cnt.index}<br>
{/section}
 
と、このようになります。 そいじゃさっくり説明いってみよう!

 loopとは ・・・ PHPのforの例文の$barにあたります。
 startとは ・・・ PHPのforの例文の初期値式$foo = 1にあたります。indexの初期値の決定です。
 stepとは ・・・ PHPのforの例文の増減式$foo++にあたります。省略するとstep=1になります。
 {$smarty.section.cnt.index}とは ・・・ PHPのforの例文の$fooにあたります。増減式により変化します。

ちょっと解り辛い説明ですね。
しょーがないゆぉ~もともと違うものを強引にやろうとしてんだからさ~(・3・)
じゃあ全く同じ動作をするPHPのforとSmartyのsectionを並べてみましょう。

PHPのfor
for( $i = 5 ; $i < 11 ; $i++ ){
      print $i<br>;
}
 
Smartyのsection
{section name=cnt start=5 loop =11 step=1}
      {$smarty.section.cnt.index}<br>
{/section}

上記のプログラムは両方とも下記の実行結果になります。

5
6
7
8
9
10
 
あーだこーだ説明するより対応した数値同士を同じ色にしたので理解が早いでしょうか?

さて、ここからはちょっとおまけでSmartyのsectionについて若干解説しておきます。

まずは上記のsectionで{$smarty.section.cnt.iteration}とするとループ回数が表示されます。
あと計算式に当たるstepなんですが、マイナスも指定できるんですが0以下になるとループが停止します。
stepをマイナス指定するとloopの値は関係なく0になるまでループします。

最後にもうひとつおまけ。
今までの解説を踏まえてforのように使ったsectionをforで表すと・・・

$start = section指定のstart(未入力時は0)
$loop = section指定のloop
$step = section指定のstep(未入力時は1)

for($i = $start ; $i < $loop ; $i= $i + ($step) ){
      if ($i < 0 ){
            break;
      }
      print "$i<br>";
}
 
となります。
う~ん解り辛い!
まぁ結論としては、違うものを強引に同じようにしようとしても同じものには成り得ず、とりあえずな出来になるってとこですか。

※上記の方法はSmartyのsectionを曲解してPHPのforに強引に見たものです。
正式な理解および使用法はSmartyマニュアルを参照のこと。

てゆーかまずはマニュアルを読めと何度(ry
PR
コメントを投稿する

HN
タイトル
メールアドレス
URL
コメント
パスワード
カレンダー

09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
ブログ内検索

プロフィール

中の人:
お仕事:
見習いプログラマー
趣味:
ネット、アニメ、音楽、チャリ
一言:
エロゲからクラブミュージックまで。
おじさんの趣味は108式まであるゆぉ~(・3・)