ホームページ >php教程 >php手册 >ThinkPHP の foreach と volist の違い

ThinkPHP の foreach と volist の違い

巴扎黑
巴扎黑オリジナル
2016-12-07 14:43:062372ブラウズ

1.foreach タグ
foreach タグはループ出力に使用されます:
foreach(name, item, key)
name (必須): 出力されるデータ テンプレート変数
item (必須): ループの単一の元の変数
key (オプション) ) : ループのキー変数。デフォルト値は key です
例:

{$vo.id}
{$vo.name}
< /foreach>
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}

偶数行レコードを出力:

{$vo.name}

mod 属性は、特定のレコードの行折り返しを制御するためにも使用されます:

{$vo.name}

< ;/eq>
出力ループ変数:

{$k}.{$vo.name}
< ;/volist>
キーが指定されていない場合、属性については、ループ変数 i がデフォルトで使用されます (例:

{$i})。{ $vo.name}

配列のインデックスを出力したい場合は、ループ変数とは異なり、キーはデータ自体によって決定され、制御されません。ループ、例:

{$key}.{$vo.name}

volist にもエイリアスがありますiterate の使用法は volist と同じです。

バージョン 2.1 以降、次のような関数を使用してデータ セットを設定できるようになりました:

{$vo.name}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。