In PHP ist Strcmp () eine sehr häufig verwendete String -Vergleichsfunktion. Es wird verwendet, um die Größe von zwei Zeichenfolgen zu vergleichen und unterschiedliche Werte gemäß dem Vergleichsergebnis zurückzugeben. Das Verständnis der Bedeutung des Renditewerts von STRCMP () ist sehr wichtig für den Umgang mit String -Operationen in der Entwicklung.
Die Syntax der Funktion von Strcmp () lautet wie folgt:
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str1</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str2</span></span><span> )
</span></span>
Die Funktion nimmt zwei Parameter STR1 und STR2 an und gibt einen ganzzahligen Wert zurück, der das Vergleichsergebnis der beiden Zeichenfolgen darstellt.
Der von STRCMP () zurückgegebene Ganzzahlwert hat normalerweise drei mögliche Ergebnisse: negativ, Null und positiv.
Wenn STRCMP () 0 zurückgibt, bedeutet dies, dass die beiden Zeichenfolgen genau gleich sind, dh deren Inhalt, Fall, Länge usw. gleich. Kurz gesagt, zwei Saiten sind buchstäblich gleich.
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>) == </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Zwei Saiten sind gleich"</span></span><span>;
}
</span></span>
Wenn STRCMP () einen negativen Wert zurückgibt, bedeutet dies, dass Str1 weniger als Str2 ist. Dieser Vergleich basiert auf dem ASCII -Wert des Zeichens. Mit anderen Worten, wenn der String Str1 vor Str2 in der Wörterbuchreihenfolge eingestuft wird, ist der Rückgabewert eine negative Zahl.
Wenn beispielsweise "Apple" mit "Bananen" verglichen wird, gibt Strcmp () einen negativen Wert zurück, da der ASCII -Wert von Buchstabe a kleiner als der Buchstabe b ist.
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"apple"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"banana"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>) < </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'apple' Weniger als 'banana'"</span></span><span>;
}
</span></span>
Wenn STRCMP () einen positiven Wert zurückgibt, bedeutet dies, dass Str1 größer als Str2 ist. Das heißt, Str1 wird nach Str2 in der Wörterbuchordnung eingestuft.
Wenn beispielsweise "Banane" mit "Apple" verglichen wird, gibt Strcmp () einen positiven Wert zurück, da der ASCII -Wert von Buchstabe B größer ist als der Buchstaben A.
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"banana"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"apple"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>) > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'banana' Größer als 'apple'"</span></span><span>;
}
</span></span>
Es ist zu beachten, dass die von STRCMP () hergestellten Vergleiche für Fall empfindlich sind. Wenn Sie keine Fallempfindlichkeit haben möchten, können Sie Funktionen wie StrColl () oder StrCasecmp () verwenden.
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>) != </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Verschiedene Saiten"</span></span><span>;
}
</span></span>
In diesem Beispiel gibt Strcmp () einen Wert ungleich Null zurück, da sich der ASCII-Wert von 'H' von 'H' unterscheidet.
STRCMP () ist eine leistungsstarke String -Vergleichsfunktion, die uns hilft, die Größenbeziehung zwischen zwei Zeichenfolgen zu verstehen, indem wir negative, null oder positive Werte zurückgeben:
Rückgabe 0 : Die beiden Saiten sind gleich.
Rückgabe negativer Wert : STR1 ist kleiner als Str2 .
Rückgabe positiver Wert : STR1 ist größer als Str2 .
Das Verständnis des Rückgabewerts dieser Funktion ist sehr hilfreich, um String -Operationen zu optimieren und zu debuggen.