Wie benutze ich StrnatCMP für die natürliche Sortierung in mehrsprachigen Websites, um die Benutzererfahrung zu verbessern?
Benutzererfahrung ist beim Erstellen mehrsprachiger Websites von entscheidender Bedeutung. Um die Website freundlicher und intuitiver zu gestalten, insbesondere bei der Anzeige von Listen oder Verzeichnissen, wirkt sich die Sortiermethode direkt auf die Browsing -Effizienz und die Gesamterfahrung des Benutzers aus. Die herkömmliche Wörterbuchordnung ist möglicherweise nicht intuitiv zu einem Inhalt, insbesondere wenn Sie Strings mit gemischten Zahlen und Buchstaben enthalten. Dazu wird die Verwendung von Strnatcmp -Funktionen zur "natürlichen Sortierung" zu einer idealen Lösung.
Die natürliche Sortierung, wie der Name schon sagt, besteht darin, Strings nach menschlichen Lesegewohnheiten zu sortieren. Zum Beispiel wird für die Saiten "Apple2" und "Apple10" die traditionelle Sortierung des Wörterbuchs "Apple10" vorausgehen, da es mit dem Buchstaben Charakter verglichen wird. Aber Menschen denken normalerweise, dass "Apple2" vor "Apple10" voraus sein sollte. Die natürliche Sortierung berücksichtigt die Größe und Position von Zahlen, wodurch die Sortierung mehr mit der menschlichen Intuition übereinstimmt.
STRNATCMP ist eine String -Vergleichsfunktion in PHP, die eine natürliche Sortierung implementieren kann. Diese Funktion ähnelt STRCMP , verarbeitet jedoch im Gegensatz zu letzteren die numerischen Teile automatisch darin, wenn sie Strings mit den Regeln der natürlichen Sortierung vergleichen. Insbesondere, wenn Strnatcmp zwei Zeichenfolgen vergleicht, behandelt es die darin enthaltenen Zahlen und nicht einen Charakter-für-Charakter-Vergleich.
In PHP ist die Verwendung von strnatcmp sehr einfach. Die Syntax ist wie folgt:
<span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string1</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string2</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
$ String1 : Die erste Zeichenfolge
$ String2 : Die zweite Zeichenfolge
Rückgabewert:
Weniger als 0: Wenn $ String1 vor $ String2 voraus ist
Größer als 0: Wenn $ String1 nach $ String2 eingestuft wird
Gleich 0: Wenn zwei Saiten gleich sind
Angenommen, wir haben eine mehrsprachige Website mit Artikeltiteln in verschiedenen Sprachen. Wir möchten diese Titellisten in einer natürlichen Reihenfolge anzeigen. Vor StrnatCMP kann die Sortierung von PHP -Standard -Wörterbuchsortien die gemischte Anordnung von Zahlen und Buchstaben verursachen, die nicht intuitiv genug sind. Mit strnatcmp können wir sicherstellen, dass die numerischen Teile nach menschlichem Verständnis sortiert werden.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Angenommen, dies ist das Titelarray auf unserer Website,Enthält verschiedene Zahlen</span></span><span>
</span><span><span class="hljs-variable">$titles</span></span><span> = [
</span><span><span class="hljs-string">"Article 10: PHP Introduction"</span></span><span>,
</span><span><span class="hljs-string">"Article 2: HTML Basics"</span></span><span>,
</span><span><span class="hljs-string">"Article 1: CSS Fundamentals"</span></span><span>,
</span><span><span class="hljs-string">"Article 11: JavaScript Essentials"</span></span><span>,
</span><span><span class="hljs-string">"Article 3: Python for Beginners"</span></span><span>
];
</span><span><span class="hljs-comment">// verwenden uasort Funktionskombination strnatcmp Bestellen Sie den Titel natürlich</span></span><span>
</span><span><span class="hljs-title function_ invoke__">uasort</span></span><span>(</span><span><span class="hljs-variable">$titles</span></span><span>, </span><span><span class="hljs-string">'strnatcmp'</span></span><span>);
</span><span><span class="hljs-comment">// Ausgabe sortierte Ergebnisse</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$titles</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$title</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$title</span></span><span> . </span><span><span class="hljs-string">"<br>"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Wir erstellen eine Reihe von Titeln , bei denen jeder Titel Zahlen enthält.
Verwenden Sie die Uasort -Funktion, um das Array zu sortieren. Uasort hält die Schlüssel des Arrays unverändert und sortiert sie nach der angegebenen Vergleichsfunktion (dies ist Strnatcmp ).
Verwenden Sie schließlich die Foreach -Schleife, um die sortierten Ergebnisse auszugeben.
Die sortierte Ausgabe wird beispielsweise in natürlicher Reihenfolge angeordnet:
<span><span><span class="hljs-selector-tag">Article</span></span><span> </span><span><span class="hljs-number">1</span></span><span>: </span><span><span class="hljs-selector-tag">CSS</span></span><span> </span><span><span class="hljs-selector-tag">Fundamentals</span></span><span>
</span><span><span class="hljs-selector-tag">Article</span></span><span> </span><span><span class="hljs-number">2</span></span><span>: </span><span><span class="hljs-selector-tag">HTML</span></span><span> </span><span><span class="hljs-selector-tag">Basics</span></span><span>
</span><span><span class="hljs-selector-tag">Article</span></span><span> </span><span><span class="hljs-number">3</span></span><span>: </span><span><span class="hljs-selector-tag">Python</span></span><span> </span><span><span class="hljs-selector-tag">for</span></span><span> </span><span><span class="hljs-selector-tag">Beginners</span></span><span>
</span><span><span class="hljs-selector-tag">Article</span></span><span> </span><span><span class="hljs-number">10</span></span><span>: </span><span><span class="hljs-selector-tag">PHP</span></span><span> </span><span><span class="hljs-selector-tag">Introduction</span></span><span>
</span><span><span class="hljs-selector-tag">Article</span></span><span> </span><span><span class="hljs-number">11</span></span><span>: </span><span><span class="hljs-selector-tag">JavaScript</span></span><span> </span><span><span class="hljs-selector-tag">Essentials</span></span><span>
</span></span>
In mehrsprachigen Websites können Titel Vokabular und Zahlen in verschiedenen Sprachen enthalten. Durch die Verwendung von StrnatCMP können wir sicherstellen, dass Inhalte in allen Sprachen in natürlicher Reihenfolge sortiert werden können, ohne dass Probleme aufgrund von Charaktercodierung oder Sprachunterschieden sortieren können. Zum Beispiel kann Strnatcmp so sortiert werden, wie der Benutzer erwartet.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Angenommen, dies ist ein Titelarray in einer mehrsprachigen Website</span></span><span>
</span><span><span class="hljs-variable">$titles</span></span><span> = [
</span><span><span class="hljs-string">"Artikel 2: PHPEinführung"</span></span><span>, </span><span><span class="hljs-comment">// chinesisch</span></span><span>
</span><span><span class="hljs-string">"Article 10: Introduction to PHP"</span></span><span>, </span><span><span class="hljs-comment">// Englisch</span></span><span>
</span><span><span class="hljs-string">"Article 1: HTML Basics"</span></span><span>, </span><span><span class="hljs-comment">// Englisch</span></span><span>
</span><span><span class="hljs-string">"Article 3: Python for Beginners"</span></span><span>, </span><span><span class="hljs-comment">// Englisch</span></span><span>
</span><span><span class="hljs-string">"Artikel 1: CSSBase"</span></span><span> </span><span><span class="hljs-comment">// chinesisch</span></span><span>
];
</span><span><span class="hljs-comment">// verwenden uasort Funktionskombination strnatcmp Bestellen Sie den Titel natürlich</span></span><span>
</span><span><span class="hljs-title function_ invoke__">uasort</span></span><span>(</span><span><span class="hljs-variable">$titles</span></span><span>, </span><span><span class="hljs-string">'strnatcmp'</span></span><span>);
</span><span><span class="hljs-comment">// Ausgabe sortierte Ergebnisse</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$titles</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$title</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$title</span></span><span> . </span><span><span class="hljs-string">"<br>"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-attr">Article 1:</span></span><span> </span><span><span class="hljs-string">HTML</span></span><span> </span><span><span class="hljs-string">Basics</span></span><span>
</span><span><span class="hljs-attr">Article 3:</span></span><span> </span><span><span class="hljs-string">Python</span></span><span> </span><span><span class="hljs-string">for</span></span><span> </span><span><span class="hljs-string">Beginners</span></span><span>
</span><span><span class="hljs-attr">Article 10:</span></span><span> </span><span><span class="hljs-string">Introduction</span></span><span> </span><span><span class="hljs-string">to</span></span><span> </span><span><span class="hljs-string">PHP</span></span><span>
</span><span><span class="hljs-string">Artikel</span></span><span> </span><span><span class="hljs-attr">1:</span></span><span> </span><span><span class="hljs-string">CSSBase</span></span><span>
</span><span><span class="hljs-string">Artikel</span></span><span> </span><span><span class="hljs-attr">2:</span></span><span> </span><span><span class="hljs-string">PHPEinführung</span></span><span>
</span></span>
Intuitive Sortierergebnisse : Benutzer möchten häufig nicht "Apple10" vor "Apple2" sehen. Stranatcmp kann diese Situation vermeiden und die natürliche Sortierung der numerischen Teile sicherstellen.
Verbesserung der Website Freundlichkeit : Für mehrsprachige Websites, insbesondere Inhalte, die gemischte Zahlen und Text enthalten, kann Strnatcmp sicherstellen, dass die Bestellung den Lesegewohnheiten des Benutzers entspricht, sei es in chinesischer, englischer oder anderer Sprachen.
Vereinfachen Sie den Entwicklungsprozess : Während des Entwicklungsprozesses kann die Verwendung von STRNATCMP vermeiden, komplexe Sortieralgorithmen manuell zu schreiben, Zeit zu sparen und die Entwicklungseffizienz zu verbessern.
STRNATCMP ist ein sehr leistungsfähiges Tool, mit dem PHP -Entwickler in mehrsprachigen Websites natürliches Sortieren erreichen können. Durch diese Funktion können Entwickler sicherstellen, dass der Inhalt nach den intuitiven Gefühlen des Benutzers sortiert wird, sei es in einer Liste, einem Verzeichnis oder einem mehrsprachigen Titel, das die Browsing -Erfahrung des Benutzers erheblich verbessert.