strcspn
(PHP 4, PHP 5, PHP 7, PHP 8)
strcspn — Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
Beschreibung
string
$string,string
$characters,int
$offset = 0,?int
$length = null): int
Gibt die Länge des Anfangssegments von string
zurück, bis zu der kein Zeichen aus
characters vorkommt.
Wenn die Parameter offset und
length weggelassen werden, dann wird
string komplett untersucht. Werden sie angegeben,
dann ist es gleichwertig zum Aufruf von strcspn(substr($string,
$offset, $length), $characters) (für weitere Informationen siehe
substr).
Parameter-Liste
-
string -
Die zu untersuchende Zeichenkette.
-
characters -
Die Zeichenkette, die alle nicht erlaubten Zeichen enthält.
-
offset -
Die Position in
string, an der die Suche beginnt.Wird
offsetangegeben und ist nicht negativ, dann beginnt strcspn()stringan der Positionoffsetzu untersuchen. Beispielsweise ist in der Zeichenkette 'abcdef' das Zeichen an Position0ein 'a', das Zeichen an Position2ein 'c', usw.Wird
offsetangegeben und ist negativ, dann beginnt strcspn()stringan der Positionoffsetvom Ende vonstringaus betrachtet zu untersuchen. -
length -
Die Länge des Segments von
string, das untersucht werden soll.Wird
lengthangegeben und ist nicht negativ, dann werden bis zulengthZeichen vonstringnach der Anfangsposition untersucht.Wird
lengthangegeben und ist negativ, dann wirdstringvon der Anfangsposition bis zulengthZeichen vom Ende vonstringaus betrachtet untersucht.
Rückgabewerte
Gibt die Länge des Anfangssegments von string
zurück, das ausschließlich aus Zeichen besteht, die
nicht in characters vorkommen.
Hinweis:
Wird der Parameter
offsetangegeben, zählt die zurückgegebene Länge von dieser Position aus, nicht vom Anfang vonstring.
Changelog
| Version | Beschreibung |
|---|---|
| 8.0.0 |
length ist jetzt nullable (akzeptiert den
null-Wert).
|
Beispiele
Beispiel #1 strcspn()-Beispiel
<?php
$a = strcspn('abcd', 'apple');
$b = strcspn('abcd', 'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
int(0) int(0) int(2) int(2) int(5) int(4)
Anmerkungen
Hinweis: Diese Funktion ist binärsicher.
Siehe auch
- strspn() - Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind

