2007年11月7日水曜日

Smarty内で配列変数に任意の値がセットされているかをチェックする関数

<?
function smarty_modifier_is_in_array($string,$arr) {
  for($i = 0; $i < count($arr); $i++) {
    if($arr[$i] == $string){
      return 1;
    }
  }
  return 0;
}
?>

/usr/local/lib/php/plugins/modifier.is_in_array.php

/usr/lib/php/Smarty/libs/plugins/modifier.is_in_array.php
が設置場所になる。

配列を第一引数に持ってくると要素一つずつに対して、関数が実行され期待通りに
動いてくれないので、後ろにおく
使い方は

{"ほげほげ"|is_in_array:$arr}

あれば、1なければ0を返す。

checkboxなんかで使える。