Heim >Backend-Entwicklung >PHP-Problem >Welche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?
Die Methoden für PHP zum Vergleichen, ob Zeichenfolgen gleich sind: 1. Verwenden Sie die Anweisung „String 1==String 2“. 2. Verwenden Sie die Anweisung „String 1=== String 2“. 4. Verwenden Sie die Anweisung „strcasecmp (String 1, String 2)“ und so weiter.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Vergleichen Sie zwei Zeichenfolgen, um festzustellen, ob sie gleich sind
Im Allgemeinen können Sie !=, = verwenden = um zwei Objekte zu vergleichen. Gleichheit bedeutet, dass es sich um zwei Objekte handelt, da es sich nicht unbedingt nur um Zeichenfolgen handelt, sondern auch um Ganzzahlen usw. Beispiel:
$a = "joe"; $b = "jerry"; if ($a != $b) { echo "不相等"; } else { echo "相等"; }
Wenn Sie zum Vergleichen !==, === verwenden (Sie können ein zusätzliches Gleichheitszeichen sehen), müssen die Typen der beiden Objekte genau gleich sein, um „true“ zurückzugeben. Andernfalls verwenden Sie ==, != , die Zeichenfolge wird zum Vergleich automatisch in den entsprechenden Typ konvertiert.
22 == "22"; // 返回 true 22 === "22"; // 返回false
Aus diesem Grund kommt es in unserem Programm häufig zu unerwarteten „Unfällen“:
0 == "我爱你"; // 返回true 1 == "1 我爱你";// 返回true
php-Tutorial Es gibt auch eine Reihe von Funktionen für den String-Vergleich: strcmp, strcasecmp, strncasecmp(), strncmp(), Rückgabewertbeschreibung:
strcmp wird für den Zeichenfolgenvergleich unter Berücksichtigung der Groß- und Kleinschreibung verwendet:
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"
strcasecmp wird für den Zeichenfolgenvergleich ohne Berücksichtigung der Groß- und Kleinschreibung verwendet:
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"
strncmp Wird zum Vergleichen von a verwendet Teil einer Zeichenfolge, beginnend am Anfang der Zeichenfolge:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc
strncasecmp wird verwendet, um einen Teil der Zeichenfolge ohne Berücksichtigung der Groß- und Kleinschreibung zu vergleichen, beginnend mit dem Anfang der Zeichenfolge. Der dritte Parameter ist die zu vergleichende Länge:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。
Eine andere Situation besteht darin, dass ein einfacher Vergleich der Zeichenfolgengröße unsere vorgegebenen Anforderungen nicht erfüllen kann. Beispielsweise ist 10.gif wie üblich besser als 5.gif Groß, aber wenn Sie die oben genannten Funktionen anwenden, wird -1 zurückgegeben, was bedeutet 10.gif ist besser als 5.gif. Für diese Situation bietet PHP zwei natürlich kontrastierende Funktionen strnatcmp und strnatcasecmp:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0) echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!