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

Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?

青灯夜游
Freigeben: 2023-03-16 19:14:01
Original
2278 Leute haben es durchsucht

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><div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">Nach dem Login kopieren</div></div><p>Ausgabe: <code>strcmp(string1,string2)比较两个字符串时,如果:

    <li>

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

    <li>

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

    <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>";
?>
Nach dem Login kopieren

Ausgabeergebnis:

-1
Nach dem Login kopieren
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;;
}
?>
Nach dem Login kopieren

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;;
    }
?>
Nach dem Login kopieren
Ausgabeergebnis:
两个网址相同
Nach dem Login kopieren

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)
Nach dem Login kopieren

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>

    <0 - 如果 string1 小于 string2

    <li>

    >0 - 如果 string1 大于 string2

示例:

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

输出:

0
Nach dem Login kopieren

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

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

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

语法:

strnatcasecmp(string1,string2)
Nach dem Login kopieren

返回值:

    <li>

    0 - 如果两个字符串相等

    <li>

    <0 - 如果 string1 小于 string2

    <li>

    >0 - 如果 string1 大于 string2

示例:

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

输出:

-1
1
Nach dem Login kopieren

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

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

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

strncmp(string1,string2,length)
Nach dem Login kopieren
参数描述
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;;
}
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage