{if}関数 条件文
テンプレート内でif文を使用したい場合があります。
Smartyのif文では、|| や or、 &&、and、 is_array() など、PHP の条件演算子や関数はすべて利用可能です。
ただし$security が有効な場合は、 $security_settings の配列 IF_FUNCS に含まれる PHP の関数のみが利用可能となります。
{if 条件式} {elseif 条件式} {else} {/if}
(使用例)
{if $smarty.get.data == "OK"} OKです {elseif $smarty.get.data == "NG"} NGです {else} よくわかりません。 {/if}
のような感じで、やはり {} で囲んで if もつかうようです。
実際にテンプレートに記述してみると、 <?php if 〜 の記述よりはソースコードはさっぱりしています。
条件演算子 | 代替 | 構文例 | 意味 | PHP 相当 |
---|---|---|---|---|
== | eq | $a eq $b | 等しい | == |
!= | ne, neq | $a neq $b | 等しくない | != |
> | gt | $a gt $b | より大きい | > |
< | lt | $a lt $b | より小さい | < |
>= | gte, ge | $a ge $b | 以上 | >= |
<= | lte, le | $a le $b | 以下 | <= |
=== | $a === 0 | 同一性のチェック | === | |
! | not | not $a | 否定 (単項) | ! |
% | mod | $a mod $b | 剰余 | % |
is [not] div by | $a is not div by 4 | 割り切れる | $a % $b == 0 | |
is [not] even | $a is not even | 偶数である [ない] (単項) | $a % 2 == 0 | |
is [not] even by | $a is not even by $b | 偶数番目のグループである [ない] | ($a / $b) % 2 == 0 | |
is [not] odd | $a is not odd | 奇数である [ない] (単項 | $a % 2 != 0 | |
is [not] odd by | $a is not odd by $b | 奇数番目のグループである [ない] | ($a / $b) % 2 != 0 |
関連記事
- {strip}関数 各行の先頭と終端にある半角スペースや改行を除去する
- {php}関数 PHP コードを直接テンプレートに書き込む
- {literal}関数 構文解析の対象にしない
- {ldelim},{rdelim} デリミタを表示する
- {insert}関数 関数を読み込む
- {include_php}関数 PHP スクリプトを読み込む
- {include}関数 他のテンプレートを読み込む
- {config_load}関数 設定ファイル から変数を読み込む
- {capture}関数 出力を変数に受け渡す
- {section}関数 テンプレート内で繰り返し
- {foreach}関数 テンプレート内で繰り返し
スポンサーリンク