Über die Verwendung der Smarty-Loop-Verschachtelung
Dieser Artikel stellt hauptsächlich die Verwendung der Smarty-Schleifenverschachtelung vor und analysiert die Implementierungsfähigkeiten und die damit verbundenen Vorsichtsmaßnahmen von Smarty-Vorlagen-Verschachtelungsschleifen in Form von Beispielen.
Dieser Artikel erzählt Beispiel für die Verwendung von Smarty Nested Loops. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
test3.php:
<?php require "main.php"; $forum = array( array("category_id" => 1, "category_name" => "公告区", "topic" => array( array("topic_id" => 1, "topic_name" => "站务公告") ) ), array("category_id" => 2, "category_name" => "文学专区", "topic" => array( array("topic_id" => 2, "topic_name" => "好书介绍"), array("topic_id" => 3, "topic_name" => "奇文共赏") ) ), array("category_id" => 3, "category_name" => "电脑专区", "topic" => array( array("topic_id" => 4, "topic_name" => "硬件周边"), array("topic_id" => 5, "topic_name" => "软件讨论") ) ) ); $tpl->assign("forum", $forum); $tpl->display("test3.htm"); ?>
Das Beispielschreiben lautet wie folgt:
templates/test3.htm:
<html> <head> <title>循环嵌套测试</title> </head> <body> <table width="200" border="0" align="center" cellpadding="3" cellspacing="0"> <{section name=sec1 loop=$forum}> <tr> <td colspan="2"><{$forum[sec1].category_name}></td> </tr> <{section name=sec2 loop=$forum[sec1].topic}> <tr> <td width="25"> </td> <td width="164"><{$forum[sec1].topic[sec2].topic_name}></td> </tr> <{/section}> <{/section}> </table> </body> </html>
test2.php:
<?php require_once('./include/db_fns.php'); include_once("./Smarty/libs/Smarty.class.php"); //包含Smarty类文件 $smarty = new Smarty(); //建立Smarty实例对象$Smarty $smarty->template_dir = "./templates/dedecms";//设置模板目录 $smarty->compile_dir = "templates/templates_c"; //设置编译目录 $smarty->assign("template_url", "./"); $smarty->assign("$site_url", "//www.jb51.net/"); $smarty->assign("$site_name", "文章管理系统"); $smarty->left_delimiter = "<{"; //设置左边界符 $smarty->right_delimiter = "}>"; //设置右边界符 $db_conn = db_connect(); $query = "SELECT cat_ID,cat_name FROM categories ORDER BY cat_ID DESC"; $result = mysql_query($query); $i = 5; while(($row = mysql_fetch_array($result)) && $i > 0) { $query2="SELECT ID, post_title, post_date FROM post WHERE post.post_category =$row[cat_ID] AND post_status <> 'unpbulish' ORDER BY post_date DESC"; $result2=mysql_query($query2); $i = 5; while(($row2 = mysql_fetch_array($result2)) && $i > 0) { $row2[post_date]=date('m-d',strtotime($row2[post_date])); $category = array("cat_ID"=>"$row[cat_ID]","cat_name"=>"$row[cat_name]", "post"=>array("ID"=>"$row2[ID]", "post_title"=>"$row2[post_title]" , "post_category"=>"$row2[post_category]" , "post_date"=>"$row2[post_date]")); $i--; } } $smarty->assign("forum", $category); $smarty->display("test2.htm"); ?>
test2 .htm:
<html> <head> <title>嵌套循环测试</title> </head> <body> <table width="200" border="0" align="center" cellpadding="3" cellspacing="0"> <{section name=sec1 loop=$forum}> <tr> <td colspan="2"><{$forum[sec1].cat_id}></td> </tr> <{section name=sec2 loop=$forum[sec1].post}> <tr> <td width="25"> </td> <td width="164"><{$forum[sec1].post[sec2].post_title}></td> </tr> <{/section}> <{/section}> </table> </body> </html>
test4.php:
<?php require "main.php"; $my_array = array( array("value" => "0"), array("value" => "1"), array("value" => "2"), array("value" => "3"), array("value" => "4"), array("value" => "5"), array("value" => "6"), array("value" => "7"), array("value" => "8"), array("value" => "9")); $tpl->assign("my_array", $my_array); $tpl->display('test4.htm'); ?>
Die Vorlage ist wie folgt geschrieben:
templates/test4.htm:
<html> <head> <title>横向重复表格测试</title> </head> <body> <table width="500" border="1" cellspacing="0" cellpadding="3"> <tr> <{section name=sec1 loop=$my_array}> <td><{$my_array[sec1].value}></td> <{if $smarty.section.sec1.rownum is p by 2}> </tr> <tr> <{/if}> <{/section}> </tr> </table> </body> </html>
Der entscheidende Punkt ist die Smarty-Variable $smarty.section. sec1.rownum, das sich in der Abschnittsschleife befindet. Die Variable erhält den Indexwert beginnend bei 1. Wenn also rownum durch 2 geteilt werden kann, wird
Zu den Operatoren gehören die folgenden :
eq, ne, neq, gt, lt, lte, le, gte, ge, ist gerade, ist ungerade, ist nicht gerade , ist nicht odd, not, mod, p by, even by, odd by
Beispiel:
<!--{if $bigsize ge '650'}--> <img src="photo/<!--{$photo}-->" border="0" width="650" class="product_photo" /> <!--{else}--> <img src="photo/<!--{$photo}-->" border="0" class="product_photo" /> <!--{/if}-->
Smarty wurde vorher nicht häufig verwendet , Die Website eines Freundes musste in den letzten zwei Tagen geändert werden. Ich habe sie eine Weile verwendet und sie war ziemlich interessant.
Hinweis zur Erfassung:
Die Funktion der Erfassungsfunktion besteht darin, die von der Vorlage ausgegebenen Daten in einer Variablen zu sammeln, anstatt sie auf der Seite auszugeben
Alle Daten zwischen {capture name="foo"} und {/capture} werden in der Variablen empfangen, die durch das Namensattribut der Funktion ($foo) angegeben wird.
Die gesammelten Informationen können in verwendet werden spezielle Variable $smarty.
Capture.foo erfasst beispielsweise die oben genannten Daten. Wenn die Funktion kein Namensattribut hat, wird „default“ verwendet entspricht { /capture}, und die Aufnahmefunktion kann nicht verschachtelt werden.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist die chinesische PHP-Website!
Verwandte Empfehlungen:
Über die Verwendung von section und sectionelse, den integrierten Funktionen der PHP-Template-Engine SmartyDas obige ist der detaillierte Inhalt vonÜber die Verwendung der Smarty-Loop-Verschachtelung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Verschachtelte generische Funktionen Generische Funktionen in Go 1.18 ermöglichen die Erstellung von Funktionen, die für mehrere Typen gelten, und verschachtelte generische Funktionen können wiederverwendbare Codehierarchien erstellen: Generische Funktionen können ineinander verschachtelt werden, wodurch eine verschachtelte Code-Wiederverwendungsstruktur entsteht. Indem Sie Filter und Zuordnungsfunktionen in einer Pipeline zusammenfassen, können Sie wiederverwendbare typsichere Pipelines erstellen. Verschachtelte generische Funktionen stellen ein leistungsstarkes Tool zum Erstellen von wiederverwendbarem, typsicherem Code dar und machen Ihren Code effizienter und wartbarer.

So verwenden Sie die Vue-Formularverarbeitung, um eine rekursive Verschachtelung von Formularen zu implementieren. Einführung: Da die Komplexität der Front-End-Datenverarbeitung und Formularverarbeitung weiter zunimmt, benötigen wir eine flexible Möglichkeit, komplexe Formulare zu verarbeiten. Als beliebtes JavaScript-Framework bietet uns Vue viele leistungsstarke Tools und Funktionen für die rekursive Verschachtelung von Formularen. In diesem Artikel wird erläutert, wie Sie mit Vue solche komplexen Formulare verarbeiten und Codebeispiele anhängen. 1. Rekursive Verschachtelung von Formularen In einigen Szenarien müssen wir uns möglicherweise mit rekursiver Verschachtelung befassen.

Tabellen sind ein grundlegender und entscheidender Aspekt der Webentwicklung und werden verwendet, um Informationen in einem geordneten und klaren Format darzustellen. Es kann jedoch Situationen geben, in denen komplexere Daten dargestellt werden müssen und die Verwendung verschachtelter Tabellen erforderlich ist. Verschachtelte Tabellen sind Tabellen, die sich in anderen Tabellenzellen befinden. In diesem Artikel führen wir Sie durch den Prozess der Erstellung verschachtelter Tabellen in HTML, mit akribisch detaillierten Erklärungen und Abbildungen, die Ihnen helfen, die Konzepte besser zu verstehen. Unabhängig davon, ob Sie ein Neuling oder ein erfahrener Webdesigner sind, vermittelt Ihnen dieser Artikel das Wissen und die Erfahrung, die Sie benötigen, um die Erstellung verschachtelter Tabellen mit HTML zu beherrschen. Bevor wir uns mit der Erstellung verschachtelter Tabellen befassen, ist es notwendig, den grundlegenden Aufbau von HTML-Tabellen zu verstehen. HTML-Tabellen werden über das <table>-Element implementiert.

Wenn der Lambda-Ausdruck aus der Schleife ausbricht, sind spezifische Codebeispiele erforderlich. Bei der Programmierung ist die Schleifenstruktur eine wichtige Syntax, die häufig verwendet wird. Unter bestimmten Umständen möchten wir jedoch möglicherweise aus der gesamten Schleife ausbrechen, wenn eine bestimmte Bedingung im Schleifenkörper erfüllt ist, anstatt nur die aktuelle Schleifeniteration zu beenden. Zu diesem Zeitpunkt können uns die Eigenschaften von Lambda-Ausdrücken dabei helfen, das Ziel zu erreichen, aus der Schleife zu springen. Der Lambda-Ausdruck ist eine Möglichkeit, eine anonyme Funktion zu deklarieren, die intern einfache Funktionslogik definieren kann. Es unterscheidet sich von einer gewöhnlichen Funktionsdeklaration:

Hinweis: In diesem Artikel werden Schleifen und Rekursion aus der Perspektive der Go-Sprache verglichen. Beim Schreiben von Programmen kommt es häufig vor, dass eine Reihe von Daten oder Vorgängen wiederholt verarbeitet werden müssen. Um dies zu erreichen, müssen wir Schleifen oder Rekursion verwenden. Schleifen und Rekursionen sind häufig verwendete Verarbeitungsmethoden, aber in praktischen Anwendungen haben sie jeweils Vor- und Nachteile, sodass bei der Auswahl der zu verwendenden Methode die tatsächliche Situation berücksichtigt werden muss. In diesem Artikel wird eine vergleichende Studie zu Schleifen und Rekursion in der Go-Sprache durchgeführt. 1. Schleifen Eine Schleife ist ein Mechanismus, der einen bestimmten Codeabschnitt wiederholt ausführt. Es gibt drei Haupttypen der Go-Sprache

Die Behandlung verschachtelter Ausnahmen wird in C++ durch verschachtelte Try-Catch-Blöcke implementiert, sodass neue Ausnahmen innerhalb des Ausnahmehandlers ausgelöst werden können. Die verschachtelten Try-Catch-Schritte lauten wie folgt: 1. Der äußere Try-Catch-Block behandelt alle Ausnahmen, einschließlich der vom inneren Ausnahmehandler ausgelösten. 2. Der innere Try-Catch-Block behandelt bestimmte Arten von Ausnahmen, und wenn eine Ausnahme außerhalb des Gültigkeitsbereichs auftritt, wird die Kontrolle an den externen Ausnahmehandler übergeben.

In diesem Artikel wird ausführlich erläutert, wie PHP alle Werte eines Arrays zurückgibt, um ein Array zu bilden. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit und hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können . Verwenden der Funktion array_values() Die Funktion array_values() gibt ein Array aller Werte in einem Array zurück. Die Schlüssel des ursprünglichen Arrays bleiben nicht erhalten. $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values werden ["bar","qux"]Verwendet Eine Schleife kann eine Schleife verwenden, um alle Werte des Arrays manuell abzurufen und zu einem neuen hinzuzufügen

Ersetzen rekursiver Aufrufe in Java-Funktionen durch Iteration. In Java ist die Rekursion ein leistungsstarkes Werkzeug zur Lösung verschiedener Probleme. In einigen Fällen kann die Verwendung von Iteration jedoch eine bessere Option sein, da sie effizienter und weniger anfällig für Stapelüberläufe ist. Hier sind die Vorteile der Iteration: Effizienter, da nicht für jeden rekursiven Aufruf ein neuer Stapelrahmen erstellt werden muss. Es ist weniger wahrscheinlich, dass Stapelüberläufe auftreten, da die Stapelplatznutzung begrenzt ist. Iterative Methoden als Alternative zu rekursiven Aufrufen: In Java gibt es mehrere Methoden, um rekursive Funktionen in iterative Funktionen umzuwandeln. 1. Verwenden Sie den Stapel. Die Verwendung des Stapels ist die einfachste Möglichkeit, eine rekursive Funktion in eine iterative Funktion umzuwandeln. Der Stapel ist eine Last-In-First-Out-Datenstruktur (LIFO), ähnlich einem Funktionsaufrufstapel. publicintfa
