In PHP wird die Funktion strncmp () verwendet, um die ersten N -Zeichen von zwei Zeichenfolgen zu vergleichen und das Vergleichsergebnis zurückzugeben. Dies ist in vielen Fällen sehr nützlich, insbesondere wenn String -Präfixe streng übereinstimmen müssen. Im Gegensatz zu Strstr () ist STRNCMP () nicht nur ein teilweise Match, sondern ein Vergleich der ersten N -Zeichen von zwei Saiten.
Diese Funktion akzeptiert drei Parameter: Der erste Parameter ist die erste Zeichenfolge, der zweite ist die zweite Zeichenfolge und die dritte ist die Anzahl der zu verglichenen Zeichen.
Im obigen Code vergleichen wir die ersten drei Zeichen der Strings 'Apple' und 'Banana'. Da der ASCII -Code von 'A' 97 ist und der ASCII -Code von 'B' 98 und 97 weniger als 98 beträgt, beträgt das Rückgabeergebnis -1. Wenn Sie nur die ersten beiden Zeichen vergleichen, ist das Ergebnis 0, weil "AP" und "BA" ASCII -Werte gleich sind.
STRNCMP () kann verwendet werden, um Klartextkennwörter mit Hash -Passwörtern sicher zu vergleichen. In diesem Fall speichern wir den Hash -Wert häufig auf der Serverseite und verwenden beim Vergleich den Hash -Wert des Klartextkennworts zur Überprüfung.
Im obigen Code vergleichen wir das vom Benutzer eingegebene Kennwort mit dem in der Datenbank gespeicherten Hash -Wert, um sicherzustellen, dass das Kennwort übereinstimmt. 'Passwort -Match' wird nur dann ausgegeben, wenn das Passwort übereinstimmt.
Manchmal müssen wir den Inhalt von zwei Dateien vergleichen. Diese Anforderung kann leicht mit der Funktion von strncmp () erreicht werden. Das folgende Codebeispiel zeigt, wie Sie den Inhalt von zwei Dateien vergleichen:
Im obigen Code vergleichen wir den Inhalt von zwei Textdateien. Wenn der Inhalt genau gleich ist, gibt die Funktion 0 zurück, andernfalls wird andere Ergebnisse zurückgegeben.
Obwohl die Funktion strncmp () hauptsächlich für den String -Vergleich verwendet wird, können wir das Array in eine Zeichenfolge umwandeln und vergleichen. Sie können JSON_Encode () verwenden, um ein Array in eine JSON -Zeichenfolge umzuwandeln und dann Strncmp () zum Vergleich zu verwenden.
Im obigen Code konvertieren wir zwei Arrays in Zeichenfolgen im JSON -Format und vergleichen sie mithilfe von strncmp () -Funktion. Die Funktion gibt 0 nur dann zurück, wenn der Inhalt des Arrays genau gleich ist.
Die Funktion von STRNCMP () in PHP ist ein sehr nützliches Tool, mit dem Entwickler Zeichenfolgen, Dateiinhalte und sogar Arrays vergleichen können. Durch die effektive Verwendung von strncmp () können wir den Code vereinfachen und die Effizienz verbessern, insbesondere in Anwendungsszenarien wie Kennwortüberprüfung und Dateivergleich.