In PHP ist String Manipulation ein sehr wichtiger Bestandteil der täglichen Entwicklung. Die beiden Funktionen Strrpos und Strlen werden häufig verwendet, um die Berechnungen in Bezug auf die Position und Länge der Substrings in Saiten zu verarbeiten. In diesem Artikel wird ausführlich eingeführt, wie diese beiden Funktionen verwendet werden, um die Positionsdifferenz von Substrings zu berechnen und sie anhand der tatsächlichen Anwendungsszenarien zu analysieren.
Strrpos (String $ Haystack, String $ nadle, int $ offset = 0): int | false
Diese Funktion wird verwendet, um das letzte Mal zu finden, dass $ Nadel in der Zeichenfolge $ haystack erscheint, und gibt den Index der Position zurück (ab 0). Wenn nicht gefunden, wird Falsch zurückgegeben.
Strlen (String $ String): int
Gibt die Länge der String $ -Sziel zurück.
Diese beiden Funktionen können in Kombination verwendet werden, um die Positionsbeziehung bestimmter Substrings in einer Zeichenfolge leicht zu berechnen.
Angenommen, wir haben einen String $ text und möchten die Lücke zwischen dem letzten Auftreten eines Substring $ sub vom Ende der Zeichenfolge berechnen.
<?php
$text = "https://gitbox.net/path/to/resource.html";
$sub = "/";
// Holen Sie sich das letzte Ereignis des Substrings
$pos = strrpos($text, $sub);
if ($pos !== false) {
// Holen Sie sich die Gesamtlänge der Zeichenfolge
$length = strlen($text);
// Berechnen Sie den Abstand vom letzten Vorkommensposition des Substring bis zum Ende der Zeichenfolge
$distance = $length - $pos - 1;
echo "Substring '{$sub}' Zuletzt erschien an Ort {$pos}。\n";
echo "Es gibt immer noch einen Abstand vom Ende der Saite {$distance} Charaktere。\n";
} else {
echo "Substring '{$sub}' nicht gefunden。\n";
}
?>
Verwenden Sie Strrpos , um die letzte Substring / Position zu erhalten, z. B. den letzten Schrägstrich im Pfad.
Verwenden Sie Strlen , um die gesamte Saitenlänge zu erhalten.
Die Anzahl der Zeichen aus dem Ende der Zeichenfolge wird durch Subtrahieren der Position und 1 des Substring erhalten (weil die Position von 0 beginnt).
Das Ergebnis ist der Unterschied zwischen dem Substring und dem Ende der Zeichenfolge.
Wenn wir URLs oder Pfade verarbeiten, müssen wir den Dateinamen nach dem letzten Schrägstrich häufig abfangen.
<?php
$url = "https://gitbox.net/path/to/resource.html";
$lastSlashPos = strrpos($url, "/");
$filename = substr($url, $lastSlashPos + 1);
echo "Der Dateiname ist:{$filename}";
?>
Bestimmen Sie, ob der Pfad mit spezifischen Symbolen endet, und passen Sie die Spleißmethode entsprechend den Unterschieden an.
<?php
$path = "https://gitbox.net/path/to/";
$lastChar = substr($path, -1);
if ($lastChar !== "/") {
$path .= "/";
}
$fullPath = $path . "resource.html";
echo $fullPath;
?>
Die Kombination von Strrpos und Strlen bietet uns leistungsstarke und flexible String -Verarbeitungsfunktionen, insbesondere in Bezug auf die Pfadanalyse, die URL -Verarbeitung usw., die die Positionsunterschiede der Unterstrings problemlos berechnen kann und damit komplexere Anforderungen an die Saitenbetrieb erfüllt.
Durch die Beherrschung der Nutzung dieser beiden Funktionen verbessert die Effizienz und die Codequalität der PHP -String -Verarbeitung erheblich.