In diesem Tutorial wird erklärt, wie man eine Anzahl von Zeichen vom Beginn einer Zeichenkette an zählt, bis ein Zeichen gefunden wird, das nicht in der zweiten Zeichenkette vorkommt. Es ist dabei egal, in welcher Reihenfolge die Zeichen in der zweiten Zeichenkette stehen. Dafür nutzt man die PHP-Funktion strspn().
Syntax:
strspn (string $zeichenkette_eins, string $zeichenkette_2, int $start, tint $laenge);
Beispiel 1:
<?php
/*
* Created on 16.12.2009 by Nico Schubert
*/
/**
* Beispiel 1 für die PHP-Funktion strspn()
*/
$zeichenkette_eins = 'allxcx';
$zeichenkette_zwei = 'Hallo';
echo strspn($zeichenkette_eins,
$zeichenkette_zwei);
?>
Ausgabe des Beispiel 1:
3
Erklärung:
Die ersten 3 Zeichen der Zeichenkette 1 „allxcx“ kommen auch in der Zeichenkette 2 „Hallo“ vor, also „all“. Das „x“ kommt dagegen in Zeichenkette 2 nicht vor. Die Länge des Abschnitts ist deshalb 3 (Zeichen), diese Zahl wird also zurückgegeben.
Seit PHP 4.3.0 sind zwei weitere optionale Parameter möglich: (start) und (laenge). Mit diesen Parametern lassen sich die Anfangsposition (start) und die Länge (laenge) des zu untersuchenden Zeichenkettenabschnitts bestimmen. Mit (start) wird also die genaue Anfangsstelle festgelegt, von der aus die Zeichenkette untersucht wird, und mit (laenge) die Länge des zu untersuchenden Zeichenkettenabschnitts.
Beispiel 2:
<?php
/*
* Created on 16.12.2009 by Nico Schubert
*/
/**
* Beispiel 2 für die PHP-Funktion strspn()
*/
$zeichenkette_eins = 'allxcx';
$zeichenkette_zwei = 'Hallo';
$start = '1';
$laenge = 10;
echo strspn($zeichenkette_eins,
$zeichenkette_zwei, $start, $laenge);
?>
Ausgabe für Beispiel 2:
2
Erklärung:
Es sind die gleichen Zeichenketten wie bei Beispiel 1, also „allxcx“ und „Hallo“. Die zu untersuchende Anfangsstelle wird mit „$start=1“ festgelegt, das heißt von „l“ an, da man bei 0 mit dem Zählen anfängt. Wäre „$start=0“, würde man mit „a“ bei „allxcx“ anfangen. Die Länge des zu untersuchenden Abschnitts ist mit „$laenge=10“ angegeben, sie umfasst also die ganze erste Zeichenkette. In Beispiel 2 sind also von Beginn der festgelegten Anfangsstelle an die 2 Zeichen „ll“ auch in Zeichenkette 2 vorhanden, das folgende „x“ dagegen nicht, deshalb wird die Zahl 2 zurückgegeben.
Beispiel3:
<?php
function meineFunktion($teilstring, $array)
{
return strspn($teilstring, implode($array));
}
$array = ["a", "g", "c", "d", "e", "f"];
echo meineFunktion("agcefghi", $array);
?>
Ausgabe:
6
Erklärung:
Der obige PHP-Code definiert eine Funktion namens meineFunktion, die zwei Parameter akzeptiert, nämlich einen Teilstring und ein Array. Die Funktion verwendet die strspn-Funktion, um die Länge des Teilstrings zu ermitteln, der aus den Zeichen des Arrays besteht. Anschließend wird der implode-Befehl verwendet, um die Elemente des Arrays in einen String zu konvertieren. Zuletzt wird die Länge des Teilstrings, der aus den Zeichen des Arrays besteht, als Rückgabewert der Funktion zurückgegeben.
Um die Funktion zu testen, wird zunächst ein Array mit den Zeichen a, g, c, d, e und f erstellt. Anschließend wird die Funktion mit dem Teilstring agcefghi und dem Array aufgerufen. Als Ergebnis wird die Länge des Teilstrings, der aus den Zeichen des Arrays besteht, ausgegeben.
Verstehen Sie die Einsatzmöglichkeiten der PHP-Funktion strspn()?
Die PHP-Funktion strspn() ist ein praktisches Werkzeug, um die Länge einer Zeichenkette zu bestimmen, die einem bestimmten Satz an Zeichen entspricht. Um mehr über die Funktion strspn() zu erfahren, stellen wir Ihnen im Folgenden zehn interessante Fragen:
- Was tut die PHP-Funktion strspn()?
- Die PHP-Funktion strspn() ermittelt die Anzahl der aneinanderfolgenden Zeichen in einer Zeichenkette, die in einem angegebenen Satz angegeben sind. Sie wird häufig verwendet, um die Anzahl der aneinanderfolgenden Zeichen in einer Zeichenkette zu ermitteln, die einen bestimmten Satz erfüllen.
- Wozu kann man die Funktion strspn() verwenden?
- Man kann die Funktion strspn() verwenden, um die Länge einer Zeichenkette zu bestimmen, die einem bestimmten Satz an Zeichen entspricht. Sie kann auch verwendet werden, um herauszufinden, ob eine Zeichenkette einem bestimmten Satz an Zeichen entspricht.
- Wie wird die Funktion strspn() aufgerufen?
- Die Funktion strspn() wird durch Aufrufen der Funktion mit drei Parametern aufgerufen. Der erste Parameter ist die Zeichenkette, die untersucht werden soll. Der zweite Parameter ist der Satz an Zeichen, nach denen gesucht wird. Der dritte Parameter ist optional und gibt an, ab welcher Position in der Zeichenkette die Suche beginnt.
- Was gibt die Funktion strspn() als Rückgabewert zurück?
- Die Funktion strspn() gibt als Rückgabewert die Anzahl der aneinanderfolgenden Zeichen zurück, die dem angegebenen Satz an Zeichen entsprechen.
- Kann man die Funktion strspn() mit mehreren Sätzen an Zeichen aufrufen?
- Ja, man kann die Funktion strspn() mit mehreren Sätzen an Zeichen aufrufen, indem man mehrere Sätze als Parameter übergibt.
- Hat die Funktion strspn() eine Grenze in Bezug auf die Länge der Zeichenkette?
- Nein, die Funktion strspn() hat keine Grenze in Bezug auf die Länge der Zeichenkette.
- Kann man die Funktion strspn() dazu verwenden, herauszufinden, ob eine Zeichenkette ein bestimmtes Muster enthält?
- Ja, man kann die Funktion strspn() dazu verwenden, herauszufinden, ob eine Zeichenkette ein bestimmtes Muster enthält, indem man den Satz an Zeichen mit dem Muster übereinstimmt.
- Wie werden Leerzeichen bei der Verwendung der Funktion strspn() behandelt?
- Leerzeichen werden bei der Verwendung der Funktion strspn() als einzelnes Zeichen behandelt und in den Satz an Zeichen aufgenommen.
- Kann man die Funktion strspn() auch dazu verwenden, herauszufinden, ob eine Zeichenkette mit einem bestimmten Präfix beginnt?
- Ja, man kann die Funktion strspn() auch dazu verwenden, herauszufinden, ob eine Zeichenkette mit einem bestimmten Präfix beginnt, indem man den Satz an Zeichen mit dem Präfix übereinstimmt.
- Kann man die Funktion strspn() auch dazu verwenden, herauszufinden, ob eine Zeichenkette ein bestimmtes Suffix enthält?
- Ja, man kann die Funktion strspn() auch dazu verwenden, herauszufinden, ob eine Zeichenkette ein bestimmtes Suffix enthält, indem man den Satz an Zeichen mit dem Suffix übereinstimmt.