debug
↓これを
$spam = array(
'a' => 'あ',
'b' => 'い',
'c'=> array(
'd' => 'う'
)
);
$smarty->assing('spam', $spam);
↓こうして
{$spam|@debug_print_var}
↓こうなる
Array (3)
a => あ
b => い
c => Array (1)
d => う
debug_print_var はデフォルトでは 40 文字で表示が切られてしまうけど、オプションで調節可能。
100 文字まで表示したい場合は,以下のように指定すればよい。
100 の前のオプションの 0 は,配列やオブジェクトを表示する際のインデント幅。
{$spam|@debug_print_var:0:100}
if
{if $spam eq 'a'}
A SPAM
{elseif $spam eq 'b'}
B SPAM
{else}
PIYO
{/if}
比較演算子
| 比較演算子 | 代替 | 構文 | 意味 | PHPの場合 |
|:--------- |:-----|:-----|:-----|:-----|:-----|
| == | eq | $a eq $b | 等しい | == |
| === | | $a === 0 | 同一性のチェック | === |
| != | ne, neq | $a neq $b | 等しくない | != |
| > | gt | $a gt $b | より大きい | > |
| < | lt | $a lt $b | より小さい | < |
| >= | gte, ge | $a ge $b | 以上 | >= |
| <= | lte, le | $a le $b | 以下 | <= |
| ! | 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 |
foreach
{foreach from=$data key=spam_key item=spam_item name=spam_data}
{$smarty.foreach.spam_data.iteration}回目<br />
キー => {$spam_key}<br />
データ => {$spam_item}<br />
{foreachelse}
データが存在しません
{/foreach}
全ループ回数:{$smarty.foreach.spam_data.total} 回
| 属性名 | 型 | 必須 | デフォルト | 概要 |
|:--------- |:-----|:-----|:-----|:-----|:-----|
| from | array | Yes | n/a | ループに使用する配列 |
| item | string | Yes | n/a | 現在の要素を示す変数の名前 |
| key | string | No | n/a | 現在のキーを示す変数の名前 |
| name | string | No | n/a | foreach プロパティにアクセスするための foreach ループ名 |
- name は、英数字とアンダースコアを使用して自由に命名可能。これは PHP の変数 と同じ
- 必須の属性は from と item
- {foreach} ループはネスト可能で、ネストした {foreach} の name はお互いにユニークである必要がある
- from 属性は、通常は値の配列で、 {foreach} のループ回数を決定するために使われる
- {foreachelse} は、 from 変数の値が存在しない場合に実行される
- {foreach} ループは、プロパティを操作する変数を自身で持っている
- 例:{$smarty.foreach.name.property}:ここでの “name” は name 属性の値となる
プロパティ
プロパティ名 | 概要 |
---|---|
index | 現在の配列のインデックスを0(ゼロ)から数えた値 |
iteration | 現在のループが反復された回数。 index とは異なり、常に 1 から始まる。 |
first | 現在の {foreach} の反復が最初のものであるときに TRUE となる |
last | 現在の {foreach} の反復が最後のものであるときに TRUE となる |
show | {foreach} のパラメータとして使用。boolean 値。 FALSE の場合は {foreach} は表示されず、 もし {foreachelse} が存在すれば、それが代わりに表示される。 |
total | {foreach} がループするトータル回数。 これは、{foreach} の内部だけではなくループを抜けた後でも使用可能。 |
修飾子
変数の修飾子は、変数・カスタム関数・文字列を修飾しての出力が可能。
修飾子を適用するには、 変数名の後に | (パイプ) と修飾子の名前を指定する。
また、修飾子はその動作に影響を及ぼす追加のパラメータを受け入れる場合もある。そのパラメータは修飾子の後に続き、: (コロン) によって区切られる。
また、すべての PHP関数は、暗黙的に修飾子として使用でき、修飾子は組み合わせることも可能。
| 修飾子 | パラメータの位置 | 型 | 必須 | デフォルト | 概要 |
|:--------- |:--------- |:-----|:-----|:-----|:-----|:-----|
| default | 1 | string | No | empty | 変数が空の場合に表示されるデフォルト値 |
修飾子として良く使うPHP関数
修飾子 | 概要 |
---|---|
number_format | カンマをつけて出力させる |
{$num|number_format}