String-Vergleich und Suche sind die häufigsten Vorgänge. Im vorherigen Artikel „PHP-String-Lernen: Vergleich zweier Strings“ haben wir die Methode zum Vergleichen von Strings vorgestellt. Der folgende Artikel führt Sie durch die Zeichenfolgensuchoperation und stellt die Methode zum Überprüfen vor, ob eine Teilzeichenfolge vorhanden ist.
Bei der Durchführung einer Zeichenfolgensuchoperation müssen Sie manchmal eine bestimmte Teilzeichenfolge (als Teilzeichenfolge bezeichnet) in einer bestimmten Zeichenfolge finden, um festzustellen, ob die Teilzeichenfolge in dieser Zeichenfolge vorhanden ist.
Normalerweise verwenden wir in PHP integrierte Funktionen, um das erste oder letzte Vorkommen dieser Teilzeichenfolge in der Zeichenfolge zu finden und eine Beurteilung zu treffen. Es gibt zwei Situationen für die Suche nach Zeichenfolgen: Eine ist die Suche ohne Berücksichtigung der Groß- und Kleinschreibung, die andere ist die Suche ohne Berücksichtigung der Groß- und Kleinschreibung. Schauen wir uns nun an, wie Sie ohne Berücksichtigung der Groß- und Kleinschreibung feststellen können, ob eine Teilzeichenfolge vorhanden ist.
Werfen wir einen Blick auf die Kastanien unten.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme); echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme); ?>
Schauen Sie sich den Code im obigen Beispiel an. Was wird Ihrer Meinung nach das Ergebnis sein? Das erste Vorkommen ist „2“ und das letzte Vorkommen ist „8“, oder? Werfen wir einen Blick auf die Ausgabe:
Hoppla, es sind eigentlich „1“ und „7“, warum ist das so? Der Grund ist: Die String-Position beginnt bei 0, nicht bei 1. Natürlich ist es falsch, wenn wir ausgehend von der Ausgangsposition 1 rechnen.
Damit wir den folgenden Code verwenden können, um festzustellen, ob der Teilstring vorhanden ist
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; if(stripos($string, $findme)!=FALSE){ echo "子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } if(strripos($string, $findme)!=FALSE){ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } ?>
Ausgabeergebnis:
Schauen wir uns diese beiden Funktionen im Detail an.
stripos($string,$find,$start)
-Funktion kann das erste Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge finden (Groß- und Kleinschreibung wird nicht beachtet). stripos($string,$find,$start)
函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
strripos($string,$find,$start)
函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。
这两个函数的参数是相似的,都接受两个必需参数$string
和$find
,一个可省略参数$start
。
$string
参数:用于指定要被查找的字符串。
$find
参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。
$start
参数:用于指定从$string
中的哪个字符开始查找,返回的位置数字值仍然相对于 $string
的起始位置。
但strripos()函数的$start
参数允许使用负值,此时将使得查找从字符串的起始位置开始,到 $start
strripos($string,$find,$start)
-Funktion kann das letzte Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge finden (Groß- und Kleinschreibung wird nicht beachtet). Die Parameter dieser beiden Funktionen sind ähnlich. Sie akzeptieren beide zwei erforderliche Parameter $string
und $find
sowie einen weggelassenen Parameter $start</code > . <p><ul style="list-style-type: disc;"><li><img src="https://img.php.cn/upload/image/321/970/604/162813895035029PHP-String-Lernen, um festzustellen, ob ein Teilstring vorhanden ist (ohne Berücksichtigung der Groß- und Kleinschreibung)" title="162813895035029PHP-String-Lernen, um festzustellen, ob ein Teilstring vorhanden ist (ohne Berücksichtigung der Groß- und Kleinschreibung)" alt="PHP-String-Lernen, um festzustellen, ob ein Teilstring vorhanden ist (ohne Berücksichtigung der Groß- und Kleinschreibung)"/><code>$string
Parameter: Wird verwendet, um die zu findende Zeichenfolge anzugeben. $find
Parameter: Wird verwendet, um den zu findenden Teilstring anzugeben, der ein oder mehrere Zeichen enthalten kann. (Wenn es sich nicht um einen Zeichenfolgentyp handelt, wird er in eine Ganzzahl konvertiert und als nach Zeichen geordneter Wert behandelt.)
$start
-Parameter: Wird verwendet, um anzugeben, ab welchem Zeichen in $string
die Suche gestartet werden soll. Der zurückgegebene numerische Positionswert ist immer noch relativ zu < code >Die Startposition von $string. Der Parameter Das obige ist der detaillierte Inhalt vonPHP-String-Lernen, um festzustellen, ob ein Teilstring vorhanden ist (ohne Berücksichtigung der Groß- und Kleinschreibung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!$start
der Funktion strripos() lässt jedoch negative Werte zu, was dazu führt, dass die Suche vom Anfang der Zeichenfolge bis beginnt $ an die Startposition
. <?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme,2);
echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme,-5);
?>