PHPで$arrayという配列のキーに「first」という文字列が存在するかを調べるときは、下記のようにします。
$array = array('first' => 1, 'second' => 2, 'third' => 3); if(array_key_exists('first', $array);){ echo "配列に「first」は存在します。"; };
smartyでも、配列の中のキーの存在を調べるのにarray_key_existsを利用します。
smartyでのarray_key_exists()利用例
たとえば、$arrayという配列のキーに「first」という文字列があるかないかを調べるには、
{if array_key_exists('first',$array)} true {else} false {/if}
このようにすればOKです。
または、
{if 'first'|array_key_exists:$array} true {else} false {/if}
と書くこともできます。
探す対象に変数を利用する場合は、
{if array_key_exists($target,$array)} true {else} false {/if}
もしくは
{if $target|array_key_exists:$array} true {else} false {/if}
としましょう。
なお、配列のキーではなく値を調べるにはin_array
を使用します。
参考URL
- I'll be NET|smartyのin_arrayで配列の中の値の有無を調べる方法