Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?

Welche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?

青灯夜游
青灯夜游Original
2021-12-31 18:41:224981Durchsuche

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.

Welche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?

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:

Welche Möglichkeiten gibt es, Zeichenfolgen in PHP auf Gleichheit zu vergleichen?

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!

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