KurocoのSmartyで利用可能なPHP関数
カスタム処理やバッチ処理にてSmartyプラグイン利用できます。 変数の修飾子として利用可能なPHP関数をまとめます。
利用可能なPHP関数
if ステートメント
Kuroco のSmarty利用箇所において、{if} ステートメントで使用できる PHP 関数は以下の通りです。
PHP関数名 | 概要 |
---|---|
is_null | 変数が null かどうか調べます |
count | 配列または Countable オブジェクトに含まれるすべての要素の数を数えます |
is_array | 変数が配列かどうかを検査します |
in_array | 配列に値があるかチェックします |
isset | 変数が宣言されていること、そして null とは異なることを検査します |
is_object | 変数がオブジェクトかどうかを検査します |
記載例
{if is_null($hoge)}
$hogeはnullです。
{/if}
修飾子
Kuroco のSmarty利用箇所において、変数の修飾子として使用できる PHP 関数は以下の通りです。
PHP関数名 | 概要 |
---|---|
array_column | 入力配列から単一のカラムの値を返します |
array_key_exists | 指定したキーまたは添字が配列にあるかどうかを調べます |
array_keys | 配列のキーすべて、あるいはその一部を返します |
array_merge | ひとつまたは複数の配列をマージします |
array_pop | 配列の末尾から要素を取り除きます |
array_push | 一つ以上の要素を配列の最後に追加します |
array_reverse | 要素を逆順にした配列を返します |
array_shift | 配列の先頭から要素を一つ取り出します |
array_slice | 配列の一部を展開します |
array_unique | 配列から重複した値を削除します |
array_values | 配列の全ての値を返します |
arsort | 連想キーと要素との関係を維持しつつ配列を降順にソートします |
asort | 連想キーと要素との関係を維持しつつ配列を昇順にソートします |
base64_decode | MIME base64 方式によりエンコードされたデータをデコードします |
base64_encode | MIME base64 方式でデータをエンコードします |
explode | 文字列を文字列により分割します |
filter_var | 指定したフィルタでデータをフィルタリングします |
floor | 端数の切り捨て |
html_entity_decode | HTML エンティティを対応する文字に変換します |
htmlspecialchars_decode | 特殊な HTML エンティティを文字に戻します |
http_build_query | URL エンコードされたクエリ文字列を生成します |
implode | 配列要素を文字列により連結します |
intval | 変数の整数としての値を取得します |
is_array | 変数が配列かどうかを検査します |
is_numeric | 変数が数字または数値形式の文字列であるかを調べます |
json_decode | JSON 文字列をデコードします |
json_encode | 値を JSON 形式にして返します |
key | 配列からキーを取り出します |
krsort | 配列をキーで降順にソートします |
ksort | 配列をキーで昇順にソートします |
max | 最大値を返します |
mb_convert_encoding | ある文字エンコーディングの文字列を、別の文字エンコーディングに変換します |
mb_convert_kana | カナを("全角かな"、"半角かな"等に)変換します |
mb_strimwidth | 指定した幅で文字列を丸めます |
mb_stripos | 大文字小文字を区別せず、 文字列の中で指定した文字列が最初に現れる位置を探します |
mb_strlen | 文字列の長さを得ます |
mb_strpos | 文字列の中に指定した文字列が最初に現れる位置を見つけます |
mb_strwidth | 文字列の幅を返します |
mb_substr | 文字列の一部を得ます |
md5 | 文字列のmd5ハッシュ値を計算します |
min | 最小値を返します |
mt_rand | メルセンヌ・ツイスター乱数生成器を介して乱数値を生成します |
nl2br | 改行文字の前に HTML の改行タグを挿入します |
number_format | 数字を千の位毎にグループ化してフォーマットします |
parse_url | URL を解釈し、その構成要素を返します |
pathinfo | ファイルパスに関する情報を返します |
property_exists | オブジェクトもしくはクラスにプロパティが存在するかどうかを調べます |
range | ある範囲の整数を有する配列を作成します |
rawurldecode | URL エンコードされた文字列をデコードします |
round | 浮動小数点数を丸めます |
rsort | 配列を降順にソートします |
shuffle | 配列をシャッフルします |
sort | 配列を昇順にソートします |
str_pad | 文字列を固定長の他の文字列で埋めます |
strip_tags | 文字列から HTML および PHP タグを取り除きます |
stripos | 大文字小文字を区別せずに文字列が最初に現れる位置を探します |
strlen | 文字列の長さを得ます |
strpos | 文字列内の部分文字列が最初に現れる場所を見つけます |
strstr | 文字列が最初に現れる位置を見つけます |
strtolower | 文字列を小文字にします |
strtotime | 英文形式の日付を Unix タイムスタンプに変換します |
strtoupper | 文字列を大文字にします |
strval | 変数の文字列としての値を取得します |
substr | 文字列の一部分を返します |
trim | 文字列の先頭および末尾にあるホワイトスペースを取り除きます |
unset | 指定した変数の割当を解除します |
urlencode | 文字列を URL エンコードします |
- 関数の第一引数を変数とし、修飾子として関数名を指定します。第二引数以上の引数は修飾子の後ろにコロン(
:
)区切りで記載してください。 - 変数が配列の場合は、関数名の先頭にアットマーク(
@
)を記載してください。 - 関数に利用するPHPデフォルト定数はKurocoで利用可能な定数一覧を参照してください。
記載例 (array_column の場合)
{* データベースから返ってきたレコードセットの例 *}
{assign_array var="records" values=""}
{assign_array var="record" values=""}
{append var="record" index="id" value=2135}
{append var="record" index="first_name" value="John"}
{append var="record" index="last_name" value="Doe"}
{append var="records" value=$record}
{assign_array var="record" values=""}
{append var="record" index="id" value=3245}
{append var="record" index="first_name" value="Sally"}
{append var="record" index="last_name" value="Smith"}
{append var="records" value=$record}
{assign_array var="record" values=""}
{append var="record" index="id" value=5342}
{append var="record" index="first_name" value="Jane"}
{append var="record" index="last_name" value="Jones"}
{append var="records" value=$record}
{assign_array var="record" values=""}
{append var="record" index="id" value=5623}
{append var="record" index="first_name" value="Peter"}
{append var="record" index="last_name" value="Doe"}
{append var="records" value=$record}
{* 関数の第一引数を変数とし、修飾子として関数名を指定します。第二引数以上の引数は修飾子の後ろにコロン(`:`)区切りで記載します *}
{* 変数が配列の場合は、関数名の先頭にアットマーク(`@`)を記載します *}
{assign var="first_names" value=$records|@array_column:'first_name'}
{$first_names|@debug_print_var}
実行結果
Array (4)
0 => "John"
1 => "Sally"
2 => "Jane"
3 => "Peter"
記載例 (str_pad の場合)
{assign var=input value="Alien"}
{assign var=output value=$input|str_pad:10:"_":$smarty.const.STR_PAD_BOTH}
{$input|debug_print_var}
{$output|debug_print_var}
実行結果
"Alien"
"__Alien___"
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。