今、Smartyを使っています。
その中で、ちょっと不思議だなーと思ったところがあるのでメモ。
仮に、以下の、ようなphpファイルがあるとします。
・・・(処理)・・・ $hoge = array("brother" => "弟" , "sister" => "姉"); ・・・(処理)・・・ assign("foo",$hoge); ・・・(処理)・・・ |
で、変数fooををhtml側に埋め込むんだけど、その書き方が、
{$foo.brother}<br> {$foo.sister}<br> |
ってのはわかるんだけど、逆に、これだとバグになってしまうのがなんとも不思議
{$foo["brother"]}<br> {$foo["sister"]}<br> |
だって、上の表現って連想配列ってことでしょ。
ってことはアクセスの仕方には問題ないと思うんだけど。。。
調べてみると、確かに、2つ目はダメとのこと。
では連想配列の場合はどうか?
$array["key"] = 1;
という連想配列があった場合は
{$array["key"]}
と想像するかもしれませんが、答えは、
{$array.key}
via:Smarty徹底入門(3):assignした配列を読み込む
うーん、なんとも不思議。
0 コメント:
コメントを投稿