てきとう

ワーワーゆうとります

 smarty条件式、if、foreach、sectionのメモだよー

条件演算子 代替 構文例 意味 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

if

{if $title eq 'a'}
    Aさん
{elseif $name eq 'b'}
    Bさん
{else}
    誰だ
{/if}

foreach

属性名 必須 デフォルト 概要
from array Yes n/a ループに使用する配列
item string Yes n/a 現在の要素を示す変数の名前
key string No n/a 現在のキーを示す変数の名前
name string No n/a foreach プロパティにアクセスするための foreach ループ名
  • プロパティ
.index
配列のインデックスを数えた値(0から開始)
.iteration
現在のループ回数(1から開始)
.first
一番最初のループでtrueになる
.last
一番最後のループでtrueになる
.show
falseの場合はforeachの内容を表示しない。foreachelseがあれば、そちらを表示。
.total
ループのトータル回数(ループを抜けた後でも使用可能
{foreach from=$data key=k item=d name=aaa}
	{$smarty.foreach.aaa.iteration}回目<br />
	キー => {$k} データ => $d<br />
{foreachelse}
	データがないんだぜ
{/foreach}

{$smarty.foreach.aaa.total}回ほどループしてやった

section

属性名 必須 デフォルト 概要
name string Yes n/a セクション名
loop mixed Yes n/a ループ回数を決定する値
start integer No 0 ループを開始するインデックス位置。値が負の場合は配列の最後尾から開始位置が算出。ループ配列の長さを超えるような無効な値は、 自動的に最も近い値に切り捨てられます。
step integer No 1 ループインデックスを進めるために使われるステップ値。stepの値が負の場合は、配列の前方に向かって進みます。
max integer No n/a セクションがループする最大の回数
show boolean No TRUE このセクションを表示するかどうか