smarty内蔵関数foreachの使用例
1627 ワード
この例では、smarty内蔵関数foreachの使い方について説明します.皆さんの参考にしてください.具体的には以下の通りです.
出力ファイル:index.php
テンプレートファイル:temp.htm
配列の出力方法には、大きく2つの形式があります.
(1)smarty 2の{foreach from=配列変数名item=配列値}.(2)smarty 3の出力方法はphpと一致しており、上記のインスタンスに$keyが付いていないため、キー名を出力する必要がある場合は、インスタンス内の形式@keyを採用します.$key=>$valueという形式を使用することができます.
また、配列のいずれかの値のみをとると、関連配列の{$family.husband}、インデックス配列の{$name[0]}など、直接出力できます.
本稿で述べたphpプログラム設計に役立つことを願っています.
出力ファイル:index.php
require_once('libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->setTemplateDir($_SERVER['DOCUMENT_ROOT']."/php/templates/");
$smarty->setCompileDir($_SERVER['DOCUMENT_ROOT']."/php/templates_c/");
$smarty->setCacheDir($_SERVER['DOCUMENT_ROOT']."/php/cache/");
$smarty->caching = false;
$name = array(" "," "," "," ");
$family = array("husband"=>" ","wife"=>" ","boy"=>" ","girl"=>" ");
$smarty->assign("name",$name);
$smarty->assign("family",$family);
$smarty->display("temp.htm");
?>
テンプレートファイル:temp.htm
{foreach $name as $value}
{$value}
{/foreach}
{foreach $family as $family_name}
{$family_name@key} = {$family_name}
{/foreach}
{foreach from=$family item=f_name key=k}
{$k} = {$f_name}
{/foreach}
配列の出力方法には、大きく2つの形式があります.
(1)smarty 2の{foreach from=配列変数名item=配列値}.(2)smarty 3の出力方法はphpと一致しており、上記のインスタンスに$keyが付いていないため、キー名を出力する必要がある場合は、インスタンス内の形式@keyを採用します.$key=>$valueという形式を使用することができます.
また、配列のいずれかの値のみをとると、関連配列の{$family.husband}、インデックス配列の{$name[0]}など、直接出力できます.
本稿で述べたphpプログラム設計に役立つことを願っています.