Heim >Backend-Entwicklung >PHP-Problem >Was ist die Funktion zum Vergleichen von Zeichenfolgen in PHP?
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.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
php verfügt über eine Vielzahl integrierter String-Vergleichsfunktionen
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). | ?? Vergleich zweier Zeichenfolgen, wenn:
<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"><?php
$str1="12";
$str2="12";
echo strcmp($str1,$str2)."<br>";
$str1="12";
$str2="13";
echo strcmp($str1,$str2)."<br>";
$str1="15";
$str2="13";
echo strcmp($str1,$str2)."<br>";
?></pre><p>Ausgabe: <code>strcmp(string1,string2)
比较两个字符串时,如果:
如果两个字符串相等,则会返回0
;
如果string1 小于 string2,则会返回 的值;
如果string1 大于 string2,则会返回> 0
<?php $str1="PHP中文网"; $str2="php中文网"; echo strcmp($str1,$str2)."<br>"; ?>
-1Mit 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 = 'php124@qq'; $pwd2 = 'php124@QQ'; if(strcmp($pwd1, $pwd2) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>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.
<?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 '两个网址相同'; } else { echo '两个网址不同'; } ?>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
string1 | Erforderlich. Gibt die erste zu vergleichende Zeichenfolge an. | |||||||
---|---|---|---|---|---|---|---|---|
string2 | Erforderlich. Gibt die zweite zu vergleichende Zeichenfolge an. | |||||||
Länge | Erforderlich. Gibt die Anzahl der Zeichen pro Zeichenfolge an, die zum Vergleich verwendet werden. | |||||||
返回值:
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) 返回值:
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)
返回值和strcmp() 函数一样 <?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if(strncmp($pwd1, $pwd2,8) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?> 推荐学习:《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!