Heim >Backend-Entwicklung >PHP-Problem >So führen Sie einen Vergleich von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in PHP durch
Methode: 1. Verwenden Sie die Anweisung „strcasecmp(string1,string2)“; 2. Verwenden Sie die Anweisung „strncasecmp(string1,string2,length)“;
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Methode 1: Funktion strcasecmp() verwenden
Die Funktion strcasecmp() unterscheidet beim Vergleich von Zeichenfolgen nicht zwischen Groß- und Kleinschreibung , das Syntaxformat ist wie folgt:
strcasecmp(string $str1, string $str2)
wobei $str1 und $str2 die beiden zu vergleichenden Zeichenfolgen sind.
Laut Vergleichsergebnis ist der Rückgabewert 67ecdc53f8d2bfdc1190c6c1301c9667 0
; wenn $ Wenn str1 gleich $str2 ist, wird 0
zurückgegeben. 6e4be76181e598d2603919dfec27c664 0
;如果 $str1 于 $str2 相等,则返回 0
。
网站的网址都是不区分大小写的,因此我们可以使用 strcasecmp() 函数来比较两个网址是否相同,示例代码如下:
<?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 '两个网址不同'; } ?>
输出:
两个网址相同
方法2:使用strncasecmp()函数
strncasecmp() 函数比较两个字符串(不区分大小写)。
语法
strncasecmp(string1,string2,length)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
length | 必需。规定每个字符串用于比较的字符数。 |
返回值: 该函数返回:
0
- 如果两个字符串相等
0a40da42a3acce42e0d00ba15d47bfdc0
- 如果 string1 大于 string2
示例:
<?php echo strncasecmp("Hello","Hello",6); echo "<br>"; echo strncasecmp("Hello","hELLo",6); ?>
输出:
0 0
方法3:使用strnatcasecmp()函数
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
语法
strnatcasecmp(string1,string2)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
返回值:
0
- 如果两个字符串相等
0a40da42a3acce42e0d00ba15d47bfdc0
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>Methode 2: Verwenden Sie strncasecmp ()-Funktion
strncasecmp()-Funktion vergleicht zwei Zeichenfolgen (ohne Berücksichtigung der Groß- und Kleinschreibung).
-1 1
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 – wenn zwei Strings gleich sind
e0c2ca4480f6e0ab121555a34db07cb20
– wenn string1 Größer als string2 🎜🎜🎜🎜 Beispiel: 🎜🎜<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "Standard string comparison"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "<br>"; echo "Natural order string comparison"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>🎜Ausgabe: 🎜
Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )🎜🎜Methode 3: Verwendung der Funktion strnatcasecmp() Die Funktion strnatcasecmp() verwendet einen „natürlichen“ Algorithmus zum Vergleichen zweier Zeichenfolgen (größenunabhängiges Schreiben). ). 🎜🎜In der natürlichen Arithmetik ist die Zahl 2 kleiner als die Zahl 10. Bei der Computersortierung ist 10 kleiner als 2, weil die erste Zahl von 10 kleiner als 2 ist. 🎜🎜Syntax🎜rrreee
Parameter | Beschreibung |
---|---|
string1 | Erforderlich. Gibt die erste zu vergleichende Zeichenfolge an. |
string2 | Erforderlich. Gibt die zweite zu vergleichende Zeichenfolge an. |
0
– wenn Zwei Strings sind gleich🎜🎜30abc8158fc18d709ea7f8e61528b4ab0
– wenn string1 größer als string2 ist 🎜🏜 Empfohlenes Lernen: „🎜PHP Video-Tutorial🎜 》🎜Das obige ist der detaillierte Inhalt vonSo führen Sie einen Vergleich von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in PHP durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!