ホームページ  >  記事  >  バックエンド開発  >  Smarty Foreach の手順_PHP チュートリアル

Smarty Foreach の手順_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:40:03876ブラウズ

foreach は、セクション以外にループを処理するもう 1 つの方法です (さまざまなニーズに応じてさまざまなオプションを選択してください)。 foreach は単純な配列を処理するために使用されます (配列内の要素は同じ型です)。欠点は、単純な配列しか処理できないことです。
foreach は /foreach とペアで使用する必要があり、from 属性と item 属性を指定する必要があります。
from 属性で指定された配列内のデータを item 属性で指定された変数にトラバースします。
foreach ($key => $value としての array_expression)
<=> item <=> $key;
name 属性は、任意の組み合わせ (文字、数字、アンダースコアの組み合わせ) で指定できます。
foreach はネストできますが、ネスト内の foreach の名前は一意である必要があります。
from 属性 (通常は配列) はループの数を決定します。
foreachelse ステートメントは、from 属性に値がない場合に実行されます。 (from 属性で指定された値が空の場合は、foreachelse ステートメントを使用して指定できます。そうでない場合は、どうすればよいですか)
foreach ループには、ループにアクセスするために使用できる独自の変数名があります。は {$smarty.foreach.foreachname.varname} です。foreachname は foreach で指定された name 属性です。

foreach のデモ
{* この例は、配列 $custid* 内のすべての要素の値を出力します。

コードをコピーします コードは次のとおりです:

{foreach from=$custid item= curr_id}
id: { $curr_id}

{/foreach}

出力結果:
id: 1000
id: 1001
id: 1002
foreach キーのデモとネストされたデモ
{*
配列は次のように定義されています:
コードをコピーします コードは次のとおりです:

$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "携帯" => "3"),
array("電話" => "555-4444", "FAX" => "555-3333", "携帯" => ; "760-1234")));
*}
{* キーは配列の添字です。配列の説明を参照してください*}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}

{/foreach}
{/foreach}

出力結果:
電話: 1
FAX: 2
携帯電話: 3
電話番号: 555-4444
FAX: 555-3333
携帯電話: 760-1234

.index
index には、「0」から始まる現在の配列インデックスが含まれます
例:
コードをコピー コードは次のとおりです:


{foreach from =$items key=myId item=i name=foo}
{if $smarty.foreach.foo.index % 5 == 0} { * $smarty.foreach.foo.index は 5 の残りを見つけます*}
Title
{/if}

{/foreach}
{ $i.label}


.iteration
iteration には、常に 1 から始まり増加します。実行されるたびに 1 ずつ増加します。
例:
コードをコピー コードは次のとおりです:

{* Output 0|1, 1|2, 2|3, ... etc.*}
{foreach from=$myArray item=i name =foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}

.first
first は、現在の foreach のときに true に設定されます。ループが初めて実行されます。
例:
コードをコピー コードは次のとおりです:

{* ループが初めて実行されるときは、LATEST が表示され、それ以外の場合は ID が表示されます *}

{foreach from=$items key=myId item=i name=foo}

{$i.label}

.last
last が true に設定されている場合現在の foreach ループは最後のパスまで実行されます。
例:


コードをコピーします

コードは次のとおりです:
{* リストの最後に水平線を追加します*} {foreach from =$items key=part_id item=prod name=products} {$prod}{if $smarty.foreach.products.last}< hr>{else},{/if}
{foreachelse}
... コンテンツ ...
{/foreach}


.total
total は、ループの実行数を表示するために使用され、ループの実行中または実行後に呼び出すことができます。
例:
コードをコピーします コードは次のとおりです:

{*最後の行数*}
{foreach from=$items key=part_id item=prod name=foo}
{$prod.label}

{if $smarty.foreach.foo.last}
{$smarty.foreach.foo.total} items

{/if}
{foreachelse}
... 何か...
{/foreach}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321472.html技術記事 foreach は、セクション以外にループを処理するためのもう 1 つのソリューションです (さまざまなニーズに応じてさまざまなソリューションを選択してください)。 foreach は単純な配列 (配列内の要素は同じ型) を処理するために使用され、その形式は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
{if $smarty.foreach.foo.first}最新{else}{$myId}{/if}