1325801842 Smartyの表記に関するご質問です。


以下の様な配列があり

$number = array(
 1 => 'プラス',
 0 => 'ゼロ',
 -1 => 'マイナス',
)

これをSmartyで以下のように出力すると。。

{$number[0]} → ゼロ

と表示されますが。。

{$number[-1]} → エラー
{$number['-1']} → エラー
{$number[`-1`]} → エラー

となります。
この場合はどの様に表記すれば良いのでしょうか?

※以下のように表記すれば出力されるのは把握しておりますが、1行でコンパクトに表記する方法をお願いします。
{assign var="xxx" value="-1"}
{$number[$xxx]}

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/01/06 07:12:52
  • 終了:2012/01/13 07:15:03

回答(0件)

回答はまだありません

  • id:Lhankor_Mhy
    解決法とあったので、
    http://blog.mizoshiri.com/archives/975
    試してみたんですが、上手く動作しなかったです。
  • id:windofjuly
    うぃんど 2012/01/06 12:33:17
    2つほど思いついただけですが、
    よければテストしてみてください

    (a) {$number{"-1"}}
    (b) {$number[{"-1"}]}
  • id:gelgelgel
    >Lhankor_Mhyさん
    >windofjulyさん
    コメントありがとうございます。
    残念ながらエラーで出力されませんでした。
  • id:rouge_2008
    Smartyのバージョンはいくつですか?
    3.1.7で問題ありませんでした。


    $num_arr = array(
    1 => 'プラス',
    0 => 'ゼロ',
    -1 => 'マイナス',
    );
    $smarty->assign("number", $num_arr);


    テンプレート;

    array test: 0 is {$number[0]} and 1 is {$number[1]} and -1 is {$number[-1]}


    結果:

    array test: 0 is ゼロ and 1 is プラス and -1 is マイナス

    ※「array test: 0 is {$number['0']} and 1 is {$number['1']} and -1 is {$number['-1']}」も同じになります。

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

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

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

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