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
offset
angegeben und ist nicht negativ, dann beginnt strcspn()string
an der Positionoffset
zu untersuchen. Beispielsweise ist in der Zeichenkette 'abcdef
' das Zeichen an Position0
ein 'a
', das Zeichen an Position2
ein 'c
', usw.Wird
offset
angegeben und ist negativ, dann beginnt strcspn()string
an der Positionoffset
vom Ende vonstring
aus betrachtet zu untersuchen. -
length
-
Die Länge des Segments von
string
, das untersucht werden soll.Wird
length
angegeben und ist nicht negativ, dann werden bis zulength
Zeichen vonstring
nach der Anfangsposition untersucht.Wird
length
angegeben und ist negativ, dann wirdstring
von der Anfangsposition bis zulength
Zeichen vom Ende vonstring
aus 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
offset
angegeben, 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