Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

青灯夜游
青灯夜游Original
2022-08-31 19:31:212119Durchsuche

PHP-Funktionen zum Vergleichen von Zeichenfolgen: 1. strcasecmp(), Vergleich von zwei Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung; 3. strcoll(), basierend auf lokalem Set zum Vergleichen von zwei Zeichenfolgen 4. strnatcasecmp(), das die Groß-/Kleinschreibung nicht berücksichtigt und einen „natürlichen Sortieralgorithmus“ verwendet, um zwei Zeichenfolgen zu vergleichen; Saiten.

Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

php verfügt über eine Vielzahl integrierter String-Vergleichsfunktionen

?? Vergleich zweier Zeichenfolgen, wenn:
    <li>
Wenn die beiden Zeichenfolgen gleich sind, wird 0 zurückgegeben
Funktion Beschreibung
strcasecmp( ) Vergleicht zwei Zeichenfolgen (ohne Berücksichtigung der Groß- und Kleinschreibung).
strcmp() Vergleicht zwei Zeichenfolgen (Groß-/Kleinschreibung beachten).
strcoll() Vergleicht zwei Zeichenfolgen (gemäß den lokalen Einstellungen).
strnatcasecmp() Verwendet einen „natürlichen Sortier“-Algorithmus, um zwei Zeichenfolgen zu vergleichen (Groß- und Kleinschreibung wird nicht berücksichtigt).
strnatcmp() Verwendet einen „natürlichen Sortier“-Algorithmus, um zwei Zeichenfolgen zu vergleichen (Groß-/Kleinschreibung beachten).
strncasecmp() String-Vergleich der ersten n Zeichen (ohne Berücksichtigung der Groß- und Kleinschreibung).
strncmp() String-Vergleich der ersten n Zeichen (Groß-/Kleinschreibung beachten).
substr_compare() Vergleicht zwei Zeichenfolgen beginnend an einer angegebenen Startposition (binärsicher und optional unter Berücksichtigung der Groß-/Kleinschreibung).

<li> Wenn string1 kleiner als string2 ist, wird der Wert von <li>Wenn string1 größer als string2 ist, wird der Wert von > > wird zurückgegeben > Wert; <p><strong></strong> Schauen wir uns zunächst das folgende Beispiel an: </p><pre class="brush:php;toolbar:false">&lt;?php $str1=&quot;12&quot;; $str2=&quot;12&quot;; echo strcmp($str1,$str2).&quot;&lt;br&gt;&quot;; $str1=&quot;12&quot;; $str2=&quot;13&quot;; echo strcmp($str1,$str2).&quot;&lt;br&gt;&quot;; $str1=&quot;15&quot;; $str2=&quot;13&quot;; echo strcmp($str1,$str2).&quot;&lt;br&gt;&quot;; ?&gt;</pre><p>Ausgabe: <code>strcmp(string1,string2)比较两个字符串时,如果:

    <li>

    如果两个字符串相等,则会返回0

    <li>

    如果string1 小于 string2,则会返回 的值;

    <li>

    如果string1 大于 string2,则会返回> 0

strcmp()-Funktion unterscheidet beim Vergleich von Zeichenfolgen zwischen Groß- und Kleinschreibung.

<?php
$str1="PHP中文网";
$str2="php中文网";
echo strcmp($str1,$str2)."<br>";
?>

Ausgabeergebnis:

-1
Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?Mit dieser Funktion können wir sie in der Funktion zur Bestätigung des Benutzerpassworts bei der Registrierung eines Kontos auf der Website verwenden (bei Passwörtern wird normalerweise zwischen Groß- und Kleinschreibung unterschieden) und vergleichen, ob die zweimal eingegebenen Passwörter konsistent sind.

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;php124@qq&#39;;
$pwd2 = &#39;php124@QQ&#39;;
if(strcmp($pwd1, $pwd2) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

Nur wenn zwei Zeichenfolgen vollständig übereinstimmen, betrachtet die Funktion strcmp() sie im obigen Beispiel als gleich; $pwd1 und $pwd2 haben unterschiedliche Groß- und Kleinschreibung, sodass die beiden Zeichenfolgen nicht gleich sind.



Aber manchmal müssen wir nur die Werte von Zeichenfolgen vergleichen und möchten nicht auf Groß- und Kleinschreibung achten, wie zum Beispiel beim Vergleich von Website-URLs. Wie gehen wir also damit um? Ganz einfach: Sie können die Funktion strcasecmp() verwenden.

2. Funktion strcasecmp() – vergleicht zwei Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung

Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

Die Funktion strcasecmp() ähnelt der Funktion strcmp() und die Rückgabewerte sind ebenfalls gleich Der einzige Unterschied besteht darin, dass die Funktion strcasecmp() nicht zwischen Groß- und Kleinschreibung unterscheidet.

Sehen wir uns das folgende Beispiel an:

<?php
header("Content-type:text/html;charset=utf-8");
$url1="https://www.php.cn/";
$url2="HTTPS://WWW.PHP.CN/";
if(strcasecmp($url1, $url2) == 0){
        echo &#39;两个网址相同&#39;;
    } else {
        echo &#39;两个网址不同&#39;;
    }
?>
Ausgabeergebnis:
两个网址相同

3. strncasecmp()-Funktion – Groß-/Kleinschreibung wird nicht berücksichtigt

strncasecmp()-Funktion vergleicht zwei Zeichenfolgen (ohne Berücksichtigung der Groß-/Kleinschreibung). Die Syntax lautet wie folgt:

strncasecmp(string1,string2,length)

Parameter

Beschreibung

Erforderlich. Gibt die erste zu vergleichende Zeichenfolge an. Erforderlich. Gibt die zweite zu vergleichende Zeichenfolge an. Erforderlich. Gibt die Anzahl der Zeichen pro Zeichenfolge an, die zum Vergleich verwendet werden.
string1
string2
Länge

返回值:

    <li>

    0 - 如果两个字符串相等

    <li>

    <li>

    >0 - 如果 string1 大于 string2

示例:

<?php
echo strncasecmp("Hello world!","hello earth!",6);
?>

输出:

0

4、strnatcasecmp()函数--大小写不敏感

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

语法:

strnatcasecmp(string1,string2)

返回值:

    <li>

    0 - 如果两个字符串相等

    <li>

    <li>

    >0 - 如果 string1 大于 string2

示例:

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

输出:

-1
1

5、strncmp()函数--大小写敏感

strncmp() 函数比较两个字符串(区分大小写)。

该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。

strncmp(string1,string2,length)
参数 描述
string1 必需。规定要比较的第一个字符串。
string2 必需。规定要比较的第二个字符串。
length 必需。规定每个字符串用于比较的字符数。

返回值和strcmp()  函数一样

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWas ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn