(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
?>