(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.
haystack
Die zu vergleichende Hauptzeichenkette.
needle
Die zweite zu vergleichende Zeichenkette.
offset
Die 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
?>