(PHP 5, PHP 7, PHP 8)
substr_compare — Binärsicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
$haystack,$needle,$offset,$length = null,$case_insensitive = false
substr_compare() vergleicht haystack
ab der in offset definierten Position mit
needle. Die Länge des verglichenen String-Bestandteils
wird vom Parameter length bestimmt.
haystackDie zu vergleichende Hauptzeichenkette.
needleDie zweite zu vergleichende Zeichenkette.
offsetDie Anfangsposition für den Vergleich. Wenn der Wert negativ ist, wird rückwärts vom Ende der Zeichenkette an gezählt.
length
Die Länge der zu vergleichenden Zeichensequenz. Standardwert ist der
größere Wert des Vergleiches der Länge von
needle mit der Länge von
haystack minus offset.
case_insensitive
Wenn case_insensitive den Wert true hat,
wird der Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung
durchgeführt.
Gibt -1 zurück, wenn haystack ab
der in offset festgelegten Position in der
Reihenfolge der Sortierung vor needle kommt,
1, wenn es nach needle kommt, und
0, wenn sie gleich sind. Wenn der Parameter
offset gleich (vor PHP 7.2.18, 7.3.5) oder größer
als die Länge von haystack ist oder
length gesetzt und kleiner als 0 ist, gibt
substr_compare() eine Warnung aus und hat den
Rückgabewert false.
| Version | Beschreibung |
|---|---|
| 8.2.0 |
Diese Funktion gibt nun -1 oder 1
zurück, wo sie vorher eine negative oder positive Zahl zurückgab.
|
| 8.0.0 |
length ist nun nullable (akzeptiert den
null-Wert).
|
| 7.2.18, 7.3.5 |
offset kann nun gleich der Länge von
haystack sein.
|
Beispiel #1 Ein substr_compare()-Beispiel
<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>