In PHP ist StrnatCasecmp eine String -Vergleichsfunktion, die für die natürliche Sortierung verwendet wird. Es ermöglicht nicht nur einen unempfindlichen Vergleich von Strings, sondern berücksichtigt auch die natürliche Sortierung von Zahlen. Im Gegensatz zur herkömmlichen StrCaseCMP -Funktion ist StrnatCasecmp schlauer und kann Zeichenfolgen mit Zahlen verarbeiten (z. B. "A10" wird als größer als "A2" angesehen). Diese Funktion macht es ideal zum Anpassen oder Sortieren von Formulareingängen.
Der Prototyp der STRNATCASECMP -Funktion lautet wie folgt:
int strnatcasecmp ( string $str1 , string $str2 )
$ str1 und $ str2 sind zwei Saiten zu vergleichen.
Diese Funktion ignoriert Fallunterschiede und führt Vergleiche für natürliche Ordnung durch.
Wenn $ str1 weniger als $ str2 ist, wird eine negative Zahl zurückgegeben. Wenn gleich, a 0; Wenn $ str1 größer als $ str2 ist, wird eine positive Zahl zurückgegeben.
Angenommen, Sie haben ein Formular, in dem der Benutzer einige String-Daten eingegeben hat, und Sie müssen Fall-unempfindliche Vergleiche dieser Eingaben vornehmen, z. B. herauszufinden, ob der Benutzereingang einige vorhandene Daten entspricht. Zu diesem Zeitpunkt ist Strnatcasecmp eine ideale Wahl.
Angenommen, wir haben ein Formular, in dem der Benutzer ein Keyword für Abfragen eingibt, und wir müssen die Elemente finden, die über PHP mit dem Schlüsselwort übereinstimmen. Wir verwenden Strnatcasecmp für die von Fall unempfindliche Übereinstimmung.
<form method="POST" action="process.php">
<label for="search">Bitte geben Sie Schlüsselwörter ein:</label>
<input type="text" id="search" name="search">
<button type="submit">einreichen</button>
</form>
<?php
// 获取用户einreichen的表单数据
$searchTerm = isset($_POST['search']) ? $_POST['search'] : '';
// Angenommen, wir haben eine Liste zu übereinstimmen
$items = [
'apple',
'banana',
'cherry',
'Apple pie',
'Banana split'
];
// Durchqueren der zu übereinstimmenden Liste,verwenden strnatcasecmp Match machen
$matches = [];
foreach ($items as $item) {
// verwenden strnatcasecmp Machen Sie eine unempfindliche Übereinstimmung
if (strnatcasecmp($item, $searchTerm) == 0) {
$matches[] = $item;
}
}
// Ausgangsübereinstimmende Ergebnisse
if (!empty($matches)) {
echo "Finden Sie ein Match:<br>";
foreach ($matches as $match) {
echo $match . "<br>";
}
} else {
echo "未Finden Sie ein Match。";
}
?>
Benutzereingaben abrufen:
Im Formular werden die vom Benutzer eingegebenen Schlüsselwörter über die Post -Methode an Process.php übermittelt. In der PHP -Datei erhalten wir den vom Benutzer vom Benutzer eingegebenen Abfragebegriff über $ _post ['such'] .
Durchqueren der Gegenstände, die übereinstimmen sollen:
Angenommen, wir haben eine Liste von $ Artikeln , die mit unterschiedlichen Fruchtnamen abgestimmt sind. Wir durchlaufen diese Elemente durch foreach und verwenden Strnatcasecmp für Fallvergleiche für Fall-unempfindliche natürliche Sorten.
Passende Logik:
Wenn StrnatCasecmp ($ item, $ searchterm) == 0 , bedeutet dies, dass das aktuelle $ item und der Benutzer $ suchterm genau übereinstimmen (Fall unempfindlich). Fügen Sie dem $ Matches -Array passende Artikel hinzu.
Ausgangsergebnis:
Wenn das $ Matches -Array nicht leer ist, bedeutet dies, dass ein passender Element gefunden wurde und wir den passenden Inhalt einzeln ausgeben. Wenn keine Übereinstimmung gefunden wird, wird die Eingabeaufforderungsnachricht ausgegeben.
Wenn Ihre Anwendung URLs umfasst und den Domänennamen im Code ersetzen muss, können Sie die Funktion str_replace verwenden, um den Domänennamen zu ersetzen. Angenommen, Sie haben die folgende URL:
$url = "http://www.example.com/page";
$updatedUrl = str_replace("www.example.com", "gitbox.net", $url);
echo $updatedUrl;
Ausgabe:
http://gitbox.net/page
Auf diese Weise können Sie sicherstellen, dass der Domänenname in der URL durch gitbox.net ersetzt wird, was für jedes Szenario geeignet ist, in dem der Domänenname ersetzt werden muss.