Wie optimiert man das Schreiben mehrerer ?
Mehrfach:
<code><?php if ( in_category('10') ) echo'<p class="class1"><span class="icon-home"></span></p>'; ?> <?php if ( in_category('25') ) echo'<p class="class2"><span class="icon-cat"></span></p>'; ?> <?php if ( in_category('38') ) echo'<p class="class3"><span class="icon-dog"></span></p>'; ?> <?php if ( in_category('44') ) echo'<p class="class4"><span class="icon4"></span></p>'; ?> <?php if ( in_category('50') ) echo'<p class="class5"><span class="icon5"></span></p>'; ?> <?php if ( in_category('61') ) echo'<p class="class6"><span class="icon6"></span></p>'; ?> </code>
Wie optimiert man das Schreiben? Vielen Dank
* Erneut bearbeitet, in_category und die folgende Klasse sind tatsächlich unregelmäßig.
Antwortinhalt:
Mehrfach:
<code><?php if ( in_category('10') ) echo'<p class="class1"><span class="icon-home"></span></p>'; ?> <?php if ( in_category('25') ) echo'<p class="class2"><span class="icon-cat"></span></p>'; ?> <?php if ( in_category('38') ) echo'<p class="class3"><span class="icon-dog"></span></p>'; ?> <?php if ( in_category('44') ) echo'<p class="class4"><span class="icon4"></span></p>'; ?> <?php if ( in_category('50') ) echo'<p class="class5"><span class="icon5"></span></p>'; ?> <?php if ( in_category('61') ) echo'<p class="class6"><span class="icon6"></span></p>'; ?> </code>
Wie optimiert man das Schreiben? Vielen Dank
* Erneut bearbeitet, in_category und die folgende Klasse sind tatsächlich unregelmäßig.
<code>for($i=1; $i<7; $i++) { if(in_category($i)) { echo "<p class=\"class{$i}\"></p>"; } }</code>
Ich habe nicht viel Einblick in die Codeoptimierung, daher überlasse ich es anderen Freunden, etwas hinzuzufügen
Update:
Erneut optimiert
<code>$arr = array( 10=>'<p class="class1"><span class="icon-home"></span></p>', 25=>'<p class="class2"><span class="icon-cat"></span></p>', 38=>'<p class="class3"><span class="icon-dog"></span></p>', 44=>'<p class="class4"><span class="icon4"></span></p>', 50=>'<p class="class5"><span class="icon5"></span></p>', 61=>'<p class="class6"><span class="icon6"></span></p>' ); function inCatToHtml($arr) { while (list($key, $value) = each($arr)) { if(in_category($key)) { echo $arr[$key]; } } } inCatToHtml($arr);</code>
echo kann entsprechend der tatsächlichen Situation optimiert werden und gibt schließlich ein in_category-Array-HTML zurück und verarbeitet es dann einheitlich
<code><?php foreach(range(1,6) as $categoryNum) { if(in_category($categoryNum)) { echo '<p class="class"'.$categoryNum.'"></p>'; } }</code>
Aber ich finde, dass das Mischen von PHP in HTML sehr gering ist...
Empfohlen
PHP-Vorlagen-Engine.
Die Front-End-Einzelseite oder eine einfache JS-Engine.
======== Puh, der Fragesteller hat es geändert, ich werde es auch ändern ==========
<code><?php $categoryIcon = [ 10 => 'icon-home', .... ]; 具体就不写了...和上面一样。</code>
<code><?php $num = count(['1','2','3','4','5','6']); for( $i=0; $i<$num; $i++ ) { if(in_category($num[$i])) { echo "<p class=class".$i."></p>"; } } ?></code>
<code><?php if ($currentCategory = Category::currentCategory()): ?> <p class="<?=$currentCategory->labelClass?>"><span class="<?=$currentCategory->iconClass?>"></span></p> <?php endif; ?></code>
Die Präsentationsebene kümmert sich nur um die Leistung, wie viele Kategorien es insgesamt gibt, wie die Kategorie der aktuellen Seite bestimmt wird und welche Klasse jede Kategorie hat und ob Sie planen, eine Datenbank zu erstellen oder eine zu schreiben Bei der Array-Konfiguration ist alles in Go innerhalb der Category-Klasse gekapselt.
Nachdem oben so viel geschrieben wurde, habe ich immer noch das Gefühl, dass die ursprüngliche Schreibmethode des Autors auf einen Blick klar ist
Ich denke, dass es für das Poster angemessener ist, if
direkt für die mehrfachen switch
Beurteilungsbedingungen zu verwenden. Ich weiß nicht, wie der Code in der in_category
-Methode des Posters aussieht, also werde ich diese Methode mutig ändern. Verwenden Sie switch
in der Methode:
<code>function in_category( $num ) { switch ($num) { case '10': echo'<p class="class1"><span class="icon-home"></span></p>'; break; case '25': echo'<p class="class2"><span class="icon-cat"></span></p>'; break; case '38': echo'<p class="class3"><span class="icon-dog"></span></p>'; break; case '44': echo'<p class="class4"><span class="icon4"></span></p>'; break; default: echo ''; break; } }</code>
Kann ich einfach in_category( 10 )
direkt?
Angenommen, der Fragesteller versucht herauszufinden, zu welcher Kategorie der Artikel gehört, und gibt ein ICON aus
Dann können Sie zunächst die Kategorie definieren,
$categroies = [ 10=>['class'=>'icon-home'], 25=>['class'=>'icon-dog'], 38=>['class'=>'icon-cat'], 44=>['class'=>'icon4'] //当然这里的数据可以是从数据库里封装好的 ]; //等待输出的html $html = ''; $class_i = 1; foreach($categories as $key => $category) { if (in_category($key)) { $html .= '<p class="class' . ($class_i++) . '"><span class="' . $category['class'] . '"></span></p>'; } } echo $html;
Ich kenne den Zweck von in_category
hier nicht. Wenn es darum geht, festzustellen, ob ein Artikel zu einer bestimmten Kategorie gehört und alle Kategorien durchlaufen werden müssen, ist diese Methode ziemlich unlogisch.
Am besten ist es, Vorder- und Rückseite zu trennen

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

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
