2011-08-10 12 views
2

私は多次元配列[$ myArray]を返すPHP経由でAPIを呼び出しています。Smarty:配列が正しくないキーを訂正

Smartyテンプレートで使用するためにこの配列を渡したいのですが、何らかの理由で配列が最初の次元キーなしで返されています。私はPHPで$ myarrayのにしますprint_r

私が手:私は{$my_array|print_r} Iを経由して私のSmartyテンプレートにmy_arrayでにアクセスしたときに次に $smarty->assign('my_array',$myArray);

:として

Array ( 
    [success] => 1 
    [errors] => 0 
    [data] => Array ( 
     [0] => Array ( 
       [email] => [email protected] 
       [id] => hhd77sjr 
       [timestamp] => 2011-08-10 16:31:29 
     ) 
    ) 
) 

私はこの配列を割り当てます取得:

1 
0 
Array ( 
    [0] => Array ( 
     [email] => [email protected] 
     [id] => hhd77sjr 
     [timestamp] => 2011-08-10 16:31:29 
    ) 
) 

[成功]、[エラー]、[データ]値のキーにはどうなりましたか?私は値を見るだけです。 {$my_array.success}のような方法でこれらの値にアクセスするにはどうすればよいですか?

ご協力ありがとうございます。あなたは、Googleが「Smartyの配列」の検索に見上げていた場合は

答えて

0

源に見なければ、私はそれが関係している推測していますSmartyがprint_r()の結果をどのように表示するかを示します。デフォルトでprint_rは直接出力しようとしますが、PHPドキュメントを見ています:

print_r()の出力をキャプチャする場合は、returnパラメータを使用します。このパラメータをTRUEに設定すると、print_r()は情報を出力するのではなく、その情報を返します。

Source

あなたは確か{$my_array.success}、すなわち、通常はすべての値にアクセスすることができるはずです。

print_rをもう一度お試しになる場合は、{$my_array|print_r:true}(戻り値をtrueに設定)を試してみてください。

関連する問題