Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP-String-Vergleichsfunktion

Detaillierte Erläuterung der PHP-String-Vergleichsfunktion

伊谢尔伦
伊谢尔伦Original
2017-04-22 18:32:5213512Durchsuche

In PHP gibt es viele Möglichkeiten, Zeichenfolgen zu vergleichen. Die erste besteht darin, die Funktion strcmp() und die Funktion strcasecmp() zum Vergleichen nach Bytes zu verwenden Die dritte Methode besteht darin, die Funktion strncmp() zu verwenden, um den Vergleich ausgehend von der Position der Quellzeichenfolge anzugeben. Nachfolgend finden Sie einige ausführliche Erläuterungen zu diesen Methoden.

1. Vergleichen Sie Zeichenfolgen basierend auf Bytes

Es gibt zwei Methoden zum Vergleichen von Zeichenfolgen basierend auf Bytes, nämlich die Verwendung der Funktion strcmp() und strcasecmp ()-Funktion. Der Unterschied zwischen diesen beiden Funktionen besteht darin, dass die Funktion strcmp() die Groß-/Kleinschreibung von Zeichen unterscheidet, während die Funktion strcasecmp() die Groß-/Kleinschreibung von Zeichen nicht unterscheidet. Da die Implementierungsmethoden dieser beiden Funktionen grundsätzlich gleich sind, stellen wir hier nur die Funktion strcmp () vor.

Die Funktion strcmp() wird verwendet, um zwei Zeichenfolgen byteweise zu vergleichen.

Das Syntaxformat ist wie folgt:

 strcmp(string1, string2)

Parameter string1 und Parameter string2 geben die beiden zu vergleichenden Zeichenfolgen an. Wenn sie gleich sind, ist der Rückgabewert der Funktion 0; wenn der Parameter string1 größer als der Parameter string2 ist, ist der Rückgabewert der Funktion größer als 0; wenn der Parameter string1 kleiner als der Parameter string2 ist, ist der Rückgabewert der Funktion kleiner als 0.

Hinweis: Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet.

Verwenden Sie die Funktionen srtcmp() und strcasecmp(), um jeweils zwei Zeichenfolgen byteweise zu vergleichen:

<?php
 $str1 = "PHP学习手册!";               // 定义字符串常量
 $str2 = "PHP学习手册!";               // 定义字符串常量
 $str3 = "phpcn";                      // 定义字符串常量
 $str4 = "PHPCN";                      // 定义字符串常量
 echo strcmp($str1,$str2);             // 这两个字符串相等
 echo strcmp($str3,$str4);             // 注意该函数区分大小写
 echo strcasecmp($str3,$str4);          //该函数不区分大小写
?>

Das Ausgabeergebnis ist:

0 1 0

Hinweis: In PHP wird häufig der Vergleich zwischen Zeichenfolgen verwendet. Verwenden Sie beispielsweise die Funktion strcmp(), um zu vergleichen, ob der im Benutzeranmeldesystem eingegebene Benutzername und das Kennwort korrekt sind. Wenn diese Funktion bei der Überprüfung des Benutzers und des Kennworts nicht verwendet wird, können der eingegebene Benutzername und das Kennwort angemeldet werden solange sie korrekt sind, egal ob in Groß- oder Kleinschreibung. Nach Verwendung der Funktion srtcmp() wird diese Situation vermieden. Sie ist rechtzeitig korrekt und muss alle Groß- und Kleinbuchstaben übereinstimmen, bevor Sie sich anmelden können, wodurch die Sicherheit der Website verbessert wird.

2. Vergleichen Sie Zeichenfolgen gemäß der natürlichen Sortiermethode

Vergleichen Sie Zeichenfolgen gemäß der natürlichen Sortiermethode durch Dies wird mit strnatcmp( erreicht ) Funktion. Die Selbsterkennungs-Sortiermethode vergleicht den numerischen Teil der Zeichenfolge und vergleicht die Zahlen in der Zeichenfolge entsprechend ihrer Größe. Seine Syntax hat das folgende Format:

strnatcmp(string1, string2)

Wenn Parameter string1 und Parameter string2 gleich sind, ist der Funktionsrückgabewert 0; wenn Parameter string1 größer als Parameter string2 ist, ist der Funktionsrückgabewert größer als 0 ; wenn Parameter string1 kleiner als Parameter string2 ist, ist der Rückgabewert der Funktion kleiner als 0.

Tipps: Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet.

Hinweis: In der natürlichen Arithmetik ist 2 kleiner als 10. In der Computersequenz ist 10 jedoch kleiner als 2, da die erste Zahl in „10“ „1“ ist, was kleiner als „2“ ist “.

Der Beispielcode für die Verwendung der Funktion strnatcmp() zum Vergleichen von Zeichenfolgen gemäß der natürlichen Sortiermethode lautet wie folgt:

<?php
 $str1 = "inter2.jpg";                  // 定义字符串常量
 $str2 = "inter10.jpg";                 // 定义字符串常量
 $str3 = "phpcn1";                      // 定义字符串常量
 $str4 = "PHPCN2";                      // 定义字符串常量
 echo strnatcmp($str1,$str2);           // 按自然排序法进行比较,返回-1
 echo strnatcmp($str3,$str4);           // 按自然排序法进行比较,返回1
?>

Das Ausgabeergebnis ist:

-1  1

Hinweis: Zum Vergleich nach der selbstidentifizierten Sortiermethode können Sie auch eine andere strnatcasecmp()-Funktion verwenden, die den gleichen Effekt wie die strnatcmp()-Funktion hat, aber nicht zwischen Größen unterscheidet.

3. Geben Sie die Funktion an, um den Vergleich ab der Position der Quellzeichenfolge zu starten.

Die Funktion strncmp() wird zum Vergleichen von Zeichenfolgen verwendet ersten n Zeichen.

Seine Syntax hat das folgende Format:

strncmp(string1, string2, length)

Wenn Parameter string1 und Parameter string2 gleich sind, ist der Rückgabewert der Funktion 0; wenn Parameter string1 größer als Parameter string2 ist, ist die Funktion Rückgabewert ist größer als 0; Wenn Parameterzeichenfolge1 kleiner als Parameterzeichenfolge2 ist, ist der Rückgabewert der Funktion kleiner als 0. Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet.

Die Parameterbeschreibung lautet wie folgt:

参    数 说     明
string1 指定参与比较的第一个字符串对象
string2 指定参与比较的第二个字符串对象
length 必要参数,指定每个字符串中参与比较字符串的数量

Verwenden Sie die Funktion strncmp(), um zu vergleichen, ob die ersten beiden Zeichen der Zeichenfolge mit der Quellzeichenfolge übereinstimmen. Der Beispielcode lautet wie folgt folgt:

<?php
 $str1 = "I like this";                  // 定义字符串常量
 $str2 = "i study php";                  // 定义字符串常量
 echo strncmp($str1,$str2,2);            // 比较前两个字符
?>

Das Ausgabeergebnis ist:

 -1

Hinweis: Wie aus dem obigen Code ersichtlich ist, ist der erste Buchstabe der Zeichenfolge in der Variablen $str2 ein Kleinbuchstabe. Es unterscheidet sich von dem in der Variablen $str1. Die Zeichenfolgen stimmen nicht überein, daher ist der Rückgabewert der Funktion nach dem Vergleich der beiden Zeichenfolgen -1.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-String-Vergleichsfunktion. 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