(PHP 5, PHP 7, PHP 8)
strripos — Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
Findet das letzte Vorkommen von needle
im String haystack
.
Im Gegensatz zu strrpos() beachtet strripos() die Groß- und Kleinschreibung nicht.
haystack
Die Zeichenkette, in der gesucht werden soll.
needle
Die Zeichenkette, nach der gesucht werden soll.
Wenn der Parameter needle
keine Zeichenkette ist, wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das Verhalten gewünscht, so sollte needle
explizit in eine Zeichenkette umgewandelt werden oder explizit die Funktion chr() aufgerufen werden.
offset
Wenn null (0
) oder positiv, wird die Suche von links nach rechts durchgeführt, wobei die ersten offset
Bytes des haystack
übersprungen werden.
Wenn negativ, wird die Suche von rechts nach links durchgeführt, wobei die letzten offset
Bytes des haystack
übersprungen werden.
Hinweis:
Dies bedeutet, dass das letzte Vorkommen von
needle
vor den letztenoffset
Bytes gesucht wird.
Gibt die Position zurück, an der needle
relativ zum Anfang der Zeichenkette haystack
vorkommt (unabhängig von Suchrichtung oder Offset).
Hinweis: Positionen in Zeichenketten werden ab 0 gezählt, und nicht ab 1.
Wenn needle
nicht gefunden wird, gibt die Funktion false
zurück.
Diese Funktion kann sowohl das boolsche false
zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false
ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.
Version | Beschreibung |
---|---|
8.2.0 | Die Groß- und Kleinschreibung hängt nicht mehr von der mit setlocale() eingestellten Locale ab. Es wird nur noch die Groß- und Kleinschreibung von ASCII-Bytes verglichen. Nicht-ASCII-Bytes werden nach ihrem Byte-Wert verglichen. |
8.0.0 | needle akzeptiert nun eine leere Zeichenkette. |
8.0.0 | Die Übergabe eines Integer als needle wird nicht mehr unterstützt. |
7.3.0 | Die Übergabe eines Integer als needle wird missbilligt. |
Beispiel #1 Ein einfaches strripos()-Beispiel
<?php
$haystack = 'ababcd';
$needle = 'aB';
$pos = strripos($haystack, $needle);
if ($pos === false) {
echo "Leider wurde ($needle) nicht in ($haystack) gefunden.";
} else {
echo "Glückwunsch!\n";
echo "Das letzte Vorkommen von ($needle) in ($haystack) ist an Position ($pos).";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Glückwunsch! Das letzte Vorkommen von (aB) in (ababcd) ist an Position (2).