Heim > Backend-Entwicklung > PHP-Problem > Gibt es eine String-Vergleichsmethode in PHP?

Gibt es eine String-Vergleichsmethode in PHP?

青灯夜游
Freigeben: 2023-03-15 14:58:01
Original
2745 Leute haben es durchsucht

Es gibt String-Vergleichsmethoden in PHP. PHP verfügt über eine Vielzahl integrierter String-Vergleichsmethoden: strcasecmp(), strcmp(), strcoll(), strnatcasecmp(), strnatcmp(), strncasecmp(), strncmp() usw.

Gibt es eine String-Vergleichsmethode in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Es gibt eine Zeichenfolgenvergleichsmethode in PHP.

php verfügt über eine Vielzahl integrierter String-Vergleichsmethoden:

Funktion Beschreibung
strcasecmp() Vergleicht zwei Strings (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).

1. Vergleichen Sie Zeichenfolgen basierend auf Bytes.

Es gibt zwei Möglichkeiten, Zeichenfolgen basierend auf Bytes zu vergleichen, nämlich die Verwendung der Funktion strcmp() und der Funktion strcasecmp(). 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)
Nach dem Login kopieren

Beachten Sie, dass bei dieser Funktion die Groß-/Kleinschreibung beachtet wird. Die Parameter string1 und Parameter string2 geben die beiden zu vergleichenden Strings 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.

Verwenden Sie die Funktionen srtcmp() und strcasecmp(), um zwei Zeichenfolgen byteweise zu vergleichen. Das Codebeispiel lautet wie folgt:

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

Das Ausgabeergebnis lautet:

0 1 0
Nach dem Login kopieren

Erklärung: Vergleichen Sie in PHP Zeichenfolgen. Die Anwendungen für Vergleiche sind sehr umfangreich. 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, werden der eingegebene Benutzername und das Kennwort in Großbuchstaben eingegeben oder Kleinbuchstaben eingeben, können Sie sich anmelden, solange sie korrekt sind. Nach Verwendung der Funktion srtcmp() wird diese Situation vermieden. Sie ist zeitgemäß und korrekt, und alle Groß- und Kleinbuchstaben müssen übereinstimmen, bevor Sie sich anmelden können, wodurch die Sicherheit der Website verbessert wird.

2. Vergleich von Strings nach der natürlichen Sortiermethode

In PHP wird der Vergleich von Strings nach der natürlichen Sortiermethode mithilfe der Funktion strnatcmp() erreicht. Die Selbsterkennungs-Sortiermethode vergleicht den numerischen Teil der Zeichenfolge und vergleicht die Zahlen in der Zeichenfolge entsprechend ihrer Größe. Die Syntax hat das folgende Format:

strnatcmp(string1, string2)
Nach dem Login kopieren

Tipps: Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet. 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 der Rückgabewert der Funktion größer als 0; wenn Parameter string1 kleiner als Parameter string2 ist, ist der Rückgabewert der Funktion kleiner als 0.

Hinweis: Im natürlichen Algorithmus 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
?>
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

-1  1
Nach dem Login kopieren

Hinweis: Um gemäß der selbsterkannten Sortiermethode zu vergleichen, müssen Sie kann auch ein anderes AND verwenden. Die Funktion strnatcmp() hat den gleichen Effekt wie die größenunabhängige Funktion strnatcasecmp().

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

strncmp() wird zum Vergleichen der ersten n Zeichen in der Zeichenfolge verwendet.

Seine Syntax hat das folgende Format:

strncmp(string1, string2, length)
Nach dem Login kopieren

Die Parameterbeschreibung lautet wie folgt: 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 der Rückgabewert der Funktion größer als 0; wenn Parameter string1 kleiner als Parameter string2 ist, ist der Rückgabewert der Funktion kleiner als 0. Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet. ?? Objekt, das am Vergleich teilnimmt

LängeErforderlicher Parameter, geben Sie die Anzahl der Vergleichszeichenfolgen in jeder Zeichenfolge an

使用strncmp()函数比较字符串的前两个字符是否与源字符串相等,其实例代码如下所示:

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

输出结果为:

-1
Nach dem Login kopieren

注释:从上面的代码中可以看出,由于变量$str2 中的字符串的首字母为小写,与变量$str1 中的字符串不匹配,所以两个字符串比较过后的函数返回值为 -1。

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonGibt es eine String-Vergleichsmethode in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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