ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP の foreach と volist の違い
1.foreach タグ
foreach タグはループ出力に使用されます:
foreach(name, item, key)
name (必須): 出力されるデータ テンプレート変数
item (必須): ループの単一の元の変数
key (オプション) ): ループのキー変数、デフォルト値は key です
例:
{$vo.id}
{$vo.name}
foreach タグは volist タグよりも単純であり、 volist タグとして多くの機能があります。利点は、オブジェクトを走査して出力できることです。通常、配列の出力には volist タグが使用されます。
2.volist タグ
volist タグは主に、テンプレート内のデータセットまたは多次元配列の出力をループするために使用されます
volist(name, id, offset, length, key, mod, empty)
name (必須):出力されるデータモデル 変数
id (必須): ループ変数
offset (オプション): 出力されるデータのオフセット
length (オプション): 出力データの長さ
key (オプション): ループのキー変数、デフォルト値は i
mod (オプション): キー値のモジュロ、デフォルトは 2 (偶数行クエリなどの場合)
empty (オプション): データが空の場合に表示される文字列
通常、モデルの select メソッドによって返される結果は 2 次元配列です。volist タグを使用して直接出力できます。
まずアクションでテンプレートに値を割り当てます:
$user=M('User');
$list=$user->select();
$this->assign('list',$list);
$this ->display();
テンプレートは次のように定義されており、番号と名前を出力します
{$vo.id}
{$vo.name}
は、5番目の出力など、部分的なデータの出力をサポートしています。 15 番目のレコード:
{$vo.id}
{$vo.name}
偶数行のレコードを出力:
mod 属性は次の目的にも使用されます。特定のレコードの行折り返しを制御します:
{$vo.name}
出力ループ変数:
{$k}.{$vo.name}
key 属性が指定しない場合、デフォルトでループ変数 i が使用されます。例:
{$i}.{$vo.name}
配列のインデックスを出力したい場合は、次のように使用できます。ループ変数とは異なり、キーはループ制御ではなくデータ自体によって決定されます。たとえば、
{$vo.name}