(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).