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

青灯夜游
青灯夜游Original
2021-07-19 11:09:522189Durchsuche

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)

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

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

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

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

输出:

两个网址相同

方法2:使用strncasecmp()函数

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

语法

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

返回值: 该函数返回:

  • - 如果两个字符串相等

  • - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>

输出:

方法3:使用strnatcasecmp()函数

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

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

语法

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

返回值: 

  • - 如果两个字符串相等

  • - 如果 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!");
    ?>
Methode 2: Verwenden Sie strncasecmp ()-Funktion

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

Syntax

-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.
Rückgabewert: Diese Funktion gibt zurück:
  • – 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);
    ?>
    🎜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.
    🎜Rückgabewert: 🎜
    • 🎜 – wenn Zwei Strings sind gleich🎜🎜
    • 🎜 – 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!

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