■PHP Smarty配列の文字判断について



・{$entity[3]|@var_dump} を処理すると下記の通り”担当者”の文字が入っていることを
確認いたしました。

実行結果(string(134) " 担当者 ")



・次に上記配列の文字で、文字列判断をした際、下記の通りとなります。
{if $entity[3]=='担当者'}○{else}×{/if}

実行結果(×) と表示されます。



文字列の条件式を記述方法、又は環境の問題なのか分からないので何かヒントを教えていただけると助かります。
宜しくお願い致します。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/14 12:38:58
  • 終了:2012/09/14 21:22:04

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4524ベストアンサー獲得回数18802012/09/14 13:01:07

実行結果(string(134) " 担当者 ")

長さが 134 ってなってます。
"担当者" の前後に空白がいっぱい入ってたりしません?


こういう感じのことをやってあげる必要があると思います。

<?php
// 正規表現を使って判定するか...
if (preg_match("/担当者/", $entity[3])) {
    ...
}

// 前後の空白を切り取ったもので比較するか...
if (trim($entity[3]) == '担当者') {
    ...
}
?>

他3件のコメントを見る
id:sugasugac

{assign var=i value=$data|strip_tags|trim}
見えないタグを除去且つ、TRIMでOKで納得できる形になりました。
助言を頂き、確信をもって調べることができたので助かりました。有難うございました。

2012/09/15 11:58:37
id:a-kuma3

Smarty だということを、ばっさり見落とした、ピント外れの回答でしたが、解決のお役にたてたようで、良かったです (^^;

2012/09/15 12:13:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません