Aktueller Standort: Startseite> Neueste Artikel> [Wie verwendet ich die STRNCMP -Funktion, um die ersten N -Zeichen von zwei Zeichenfolgen zu vergleichen? PHP Praktische Fähigkeiten teilen]

[Wie verwendet ich die STRNCMP -Funktion, um die ersten N -Zeichen von zwei Zeichenfolgen zu vergleichen? PHP Praktische Fähigkeiten teilen]

gitbox 2025-07-17

Im PHP ist der Vergleich von Saiten eine sehr häufige Voraussetzung, und manchmal müssen wir nicht den gesamten Inhalt von zwei Saiten vergleichen, sondern sich nur um ihre ersten Charaktere kümmern. Zu diesem Zeitpunkt kann die STRNCMP -Funktion nützlich sein. Lassen Sie uns heute diskutieren, wie Sie die STRNCMP -Funktion verwenden, um die ersten N -Zeichen von zwei Zeichenfolgen zu vergleichen.

Was ist die STRNCMP -Funktion?

STRNCMP ist eine integrierte String-Vergleichsfunktion in PHP, mit der die angegebene Länge von zwei Zeichenfolgen (d. H. Die ersten N-Zeichen) verglichen werden. Im Gegensatz zur STRCMP -Funktion vergleicht STRNCMP n nur n Zeichen vom Beginn einer Zeichenfolge, ohne sich um nachfolgende Teile der String zu kümmern. Wenn die ersten N -Zeichen gleich sind, gibt STRNCMP 0 zurück; Wenn es unterschiedlich ist, gibt es eine negative oder positive Zahl zurück, abhängig vom ASCII -Wert des ersten unterschiedlichen Zeichens.

Syntax der STRNCMP -Funktion

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strncmp</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><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span>)
</span></span>
  • $ str1 : Die erste String, die zu vergleichen ist.

  • $ str2 : Die zweite Zeichenfolge, die zu vergleichen ist.

  • $ Länge : Gibt die Anzahl der zu vergleichen.

Diese Funktion gibt eine Ganzzahl zurück, und die Bedeutung des Wertes lautet wie folgt:

  • 0 : bedeutet, dass die ersten N -Zeichen gleich sind.

  • Negative Zahl : Gibt an, dass der ASCII -Wert des ersten unterschiedlichen Zeichens in $ str1 kleiner als der ASCII -Wert des $ str2 ist.

  • Positive Zahl : Zeigt an, dass der ASCII -Wert des ersten unterschiedlichen Zeichens in $ str1 größer ist als der ASCII -Wert des $ str2 .

Beispiel unter Verwendung der STRNCMP -Funktion

Schauen wir uns ein einfaches Beispiel an, mit dem Sie besser verstehen können, wie Sie STRNCMP verwenden.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"Hello, PHP!"</span></span><span>;

</span><span><span class="hljs-comment">// Vor dem Vergleich5Charaktere</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</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">5</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</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">"nach vorne5Charaktere相同!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"nach vorne5Charaktere不同!"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ausgabe:

 <span><span>nach vorne5Charaktere相同!
</span></span>

In diesem Beispiel verwenden wir STRNCMP , um die ersten 5 Zeichen von zwei Zeichenfolgen zu vergleichen. Da die ersten 5 Zeichen von $ str1 und $ str2 Hallo sind, gibt Strncmp 0 zurück, was darauf hinweist, dass dieser Teil der Zeichenfolge gleich ist.

Warum STRNCMP verwenden?

Der Vorteil der Verwendung von STRNCMP besteht darin, dass die Anzahl der zu verglichenenden Zeichen genau steuern kann, und manchmal interessieren wir uns nur für die ersten Charaktere. Bei der Überprüfung eines Benutzernamens oder eines Passworts müssen wir beispielsweise nur eine vorläufige Überprüfung der ersten eingegebenen Zeichen durchführen. Die Verwendung von STRNCMP kann unnötige Leistungsaufwand vermeiden.

Praktische Anwendungsszenarien

  1. Benutzername oder Kennwort -Präfix -Matching : Wenn Sie die ersten Zeichen des vom Benutzer eingegebenen Benutzernamen oder Kennworts überprüfen müssen, können Sie Strncmp für eine schnelle Übereinstimmung verwenden.

  2. URL -Pfadübereinstimmung : Bei der Entwicklung von Webanwendungen ist häufig die ersten Zeichen der URL zu überprüfen, um den angeforderten Ressourcentyp zu bestimmen oder Routing -Matching durchzuführen.

  3. Dateiname- oder Dateipfadvergleich : STRNCMP ist eine ideale Wahl, wenn Sie die ersten Zeichen des Dateinamens vergleichen müssen, um den Dateityp zu bestimmen oder eine Verarbeitung durchzuführen.

Zusammenfassung

Die STRNCMP -Funktion bietet eine effiziente und flexible String -Vergleichsmethode in PHP, die besonders zum Vergleich der ersten N -Zeichen von zwei Zeichenfolgen geeignet ist. Unabhängig davon, ob es sich bei der Benutzereingabeverifizierung, Pfadanpassung oder anderen Szenarien zur Verarbeitung von String -Verarbeitung befindet, kann STRNCMP Ihnen helfen, Aufgaben zu erledigen.

Durch das Beherrschen der Verwendung von STRNCMP können Sie Ihre PHP -Programmierung effizienter und genauer gestalten, unnötige Vergleichsvorgänge reduzieren und die Programmleistung verbessern.