Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich die STRCSPN -Funktion in PHP? Schnellstart Tutorial!

Wie benutze ich die STRCSPN -Funktion in PHP? Schnellstart Tutorial!

gitbox 2025-08-16

In PHP ist die STRCSPN -Funktion eine sehr praktische Funktion für Zeichenfolge, mit der die Anzahl der vom Beginn einer Zeichenfolge übergebenen Zeichen zurückgegeben wird, bis ein angegebenes Zeichen auftritt. Diese Funktion ist besonders geeignet, um Teile einer Zeichenfolge zu behandeln, die keine bestimmten Zeichen enthalten, oder wenn sie nach bestimmten bestimmten Zeichen suchen, müssen sie ihre relativen Positionen erhalten.

Syntax der STRCSPN -Funktion

 <span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$charlist</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</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><span class="hljs-literal">NULL</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>

Parameterbeschreibung:

  • $ haystack : Die Zielzeichenfolge, die die Zeichenfolge ist, die Sie überprüfen möchten.

  • $ charList : Die angegebene Zeichenliste, STRCSPN, scannt die $ haystack -Zeichenfolge, bis ein Zeichen in der Liste gefunden wurde.

  • $ start (optional): Gibt den Speicherort an, um die Suche zu starten, der Standard ist 0 .

  • $ Länge (optional): Begrenzt die Zeichenlänge der Suche, Standard ist null und zeigt an, dass die gesamte Zeichenfolge durchsucht wird.

Funktion gibt Wert zurück

Die STRCSPN -Funktion gibt einen Ganzzahlwert zurück, der die Position vom Beginn der Zeichenfolge an den Ort angibt, an dem das Zeichen in einer $ charlist auftritt (oder wenn ein Zeichen in der Zeichenliste auftritt, gibt sie die gescannte Position zurück). Wenn keine angegebenen Zeichen auftreten, wird die Länge der gesamten Zeichenfolge zurückgegeben.

Beispiel für die Nutzung

Zeigen wir die Verwendung der STRCSPN -Funktion mit einigen einfachen Beispielen.

Beispiel 1: Finden Sie die Position des angegebenen Zeichens in der Zeichenfolge

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-variable">$characters</span></span><span> = </span><span><span class="hljs-string">" ,!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$characters</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list is at position: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// Ausgabe:The first occurrence of a character from the list is at position: 5</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Beispiel beginnt Strcspn mit der Zeichenfolge "Hallo, Welt!" bis der Charakter ' (Raum) auftritt. Das Ergebnis, das es zurückgibt, ist 5 , was darauf hinweist, dass der sechste Zeichen ein Raum ist (der Array -Index beginnt bei 0).

Beispiel 2: Geben Sie den Speicherort an, um die Suche zu starten

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-variable">$characters</span></span><span> = </span><span><span class="hljs-string">" ,!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$characters</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list after position 6 is at: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// Ausgabe:The first occurrence of a character from the list after position 6 is at: 8</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Beispiel geben wir an, dass wir vom 6. Charakter nachsehen. Auch wenn sich der Raumschiff auf der 5. Position befindet, wird die Funktion auf Position 6 betrachtet, bis der nächste Space -Charakter '' auftritt, und das Ergebnis ist 8.

Beispiel 3: keine Zeichenliste angeben

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"123456789"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">"678"</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list is at position: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// Ausgabe:The first occurrence of a character from the list is at position: 6</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Beispiel sucht Strcspn in der Zeichenfolge nach '6' , '7' oder '8' . Die von der Funktion zurückgegebene Position ist das 6. Zeichen (d. H. Das Zeichen '6' ), was die Position angibt, in der das erste Auftreten der Zeichenliste 678 ist.

Praktische Anwendungsszenarien

  1. Unnötige Charaktere klären :
    STRCSPN kann verwendet werden, um nicht verwandte Zeichen in Saiten zu löschen. Extrahieren Sie beispielsweise eine Zeichenfolge mit Zahlen und löschen Sie nicht numerische Zeichen.

     <span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
    </span><span><span class="hljs-variable">$digits</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">"abcdefghijklmnopqrstuvwxyz"</span></span><span>));
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Extracted digits: <span class="hljs-subst">$digits</span></span></span><span>"; </span><span><span class="hljs-comment">// Ausgabe:Extracted digits: 123</span></span><span>
    </span></span>
  2. Passwortüberprüfung :
    Wenn Sie feststellen möchten, ob ein Passwort illegale Zeichen (z. B. Steuerzeichen oder Leerzeichen) enthält, ist STRCSPN ein sehr geeignetes Werkzeug.

     <span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-string">"secure@123"</span></span><span>;
    </span><span><span class="hljs-variable">$illegalChars</span></span><span> = </span><span><span class="hljs-string">" \t\r\n"</span></span><span>;
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$illegalChars</span></span><span>) == </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$password</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Password is valid!"</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">"Password contains illegal characters!"</span></span><span>;
    }
    </span></span>
  3. Textreinigung :
    Angenommen, Sie haben einen Textstück, der möglicherweise einige Interpunktionsmarken enthalten kann. Unter Verwendung von STRCSPN ist es einfach, den ersten Interpunktionsabschnitt zu extrahieren.

Zusammenfassen

Die STRCSPN -Funktion ist ein effizientes und flexibles String -Verarbeitungswerkzeug, mit dem Entwickler die Position bestimmter Zeichen in einer Zeichenfolge lokalisieren oder gültige Teile von einer Zeichenfolge abschneiden. Durch die Beherrschung der Verwendung dieser Funktion können Sie String -Daten effektiv verarbeiten und analysieren und die Klarheit und Wartbarkeit Ihres Codes verbessern.