Heim > Backend-Entwicklung > PHP-Problem > So führen Sie einen Vergleich von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in PHP durch

So führen Sie einen Vergleich von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in PHP durch

青灯夜游
Freigeben: 2023-03-11 17:34:02
Original
2056 Leute haben es durchsucht

Methode: 1. Verwenden Sie die Anweisung „strcasecmp(string1,string2)“; 2. Verwenden Sie die Anweisung „strncasecmp(string1,string2,length)“;

So führen Sie einen Vergleich von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in PHP durch

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

wobei $str1 und $str2 die beiden zu vergleichenden Zeichenfolgen sind.

Laut Vergleichsergebnis ist der Rückgabewert < 0; wenn $str1 größer als $str2 ist, ist der Rückgabewert > 0; wenn $ Wenn str1 gleich $str2 ist, wird zurückgegeben. < 0;如果 $str1 大于 $str2,则返回值 > 0;如果 $str1 于 $str2 相等,则返回

网站的网址都是不区分大小写的,因此我们可以使用 strcasecmp() 函数来比较两个网址是否相同,示例代码如下:

<?php
header("Content-type:text/html;charset=utf-8");
$url1 = &#39;//m.sbmmt.com/&#39;;
$url2 = &#39;HTTPS://m.sbmmt.com/&#39;;
if(strcasecmp($url1, $url2) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>
Nach dem Login kopieren

输出:

两个网址相同
Nach dem Login kopieren

方法2:使用strncasecmp()函数

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

语法

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

返回值: 该函数返回:

  • - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>
Nach dem Login kopieren

输出:

Nach dem Login kopieren

方法3:使用strnatcasecmp()函数

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

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

语法

strnatcasecmp(string1,string2)
Nach dem Login kopieren
参数描述
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。

返回值:

  • - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0

    Bei Website-URLs wird die Groß-/Kleinschreibung nicht beachtet, daher können wir die Funktion strcasecmp() verwenden, um zu vergleichen, ob zwei URLs gleich sind. Der Beispielcode lautet wie folgt:
  • <?php
    echo strnatcasecmp("2Hello world!","10Hello WORLD!");
    echo "<br>";
    echo strnatcasecmp("10Hello world!","2Hello WORLD!");
    ?>
    Nach dem Login kopieren
Methode 2: Verwenden Sie strncasecmp ()-Funktion

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

Syntax

-1
1
Nach dem Login kopieren
ParameterBeschreibung< /th>
string1Erforderlich. Gibt die erste zu vergleichende Zeichenfolge an.
string2Erforderlich. Gibt die zweite zu vergleichende Zeichenfolge an.
LängeErforderlich. Gibt die Anzahl der Zeichen pro Zeichenfolge an, die zum Vergleich verwendet werden.
Rückgabewert: Diese Funktion gibt zurück:

  • – wenn zwei Strings gleich sind

  • <0 – wenn string1 kleiner als string2 ist

  • 🎜>0 – 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);
    ?>
    Nach dem Login kopieren
    🎜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 )
    Nach dem Login kopieren
    🎜🎜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.
    🎜Rückgabewert: 🎜
    • 🎜 – wenn Zwei Strings sind gleich🎜🎜
    • 🎜<0 – wenn string1 kleiner als string2 ist🎜🎜
    • 🎜>0 – 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!

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