Bei der PHP -Programmierung ist der String -Betrieb eine sehr häufige Aufgabe, insbesondere wenn wir uns mit Dateipfaden, URLs, Benutzereingaben und anderen Szenarien befassen, müssen wir häufig den Beginn und das Ende der Zeichenfolge überprüfen. PHP bietet zwei sehr nützliche Funktionen: str_starts_with und str_ends_with , die uns helfen können, schnell festzustellen, ob eine Zeichenfolge mit einem bestimmten Substring beginnt oder endet. In diesem Artikel wird erläutert, wie diese beiden Funktionen zusammen verwendet werden, um den Beginn und das Ende einer Zeichenfolge effektiv zu überprüfen.
Die Funktion str_starts_with wird verwendet, um zu überprüfen, ob eine Zeichenfolge mit einem angegebenen Substring beginnt. Die grundlegende Syntax dieser Funktion lautet wie folgt:
<span><span><span class="hljs-title function_ invoke__">str_starts_with</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">$needle</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ haystack : Die Zielzeichenfolge, die überprüft wird.
$ nadel : Ein zum Vergleich verwendeter Unterstring.
Wenn die Zielstring $ Haystack mit $ nadle beginnt, gibt die Funktion true zurück. Ansonsten falsch .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"ex"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Dateiname mit 'ex' Anfang。\n"</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">"Dateiname nicht 'ex' Anfang。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Ausgabe:
<span><span>Dateiname mit </span><span><span class="hljs-string">'ex'</span></span><span> Anfang。
</span></span>
Die Funktion str_ends_with wird verwendet, um zu überprüfen, ob eine Zeichenfolge mit einem angegebenen Substring endet. Die grundlegende Syntax dieser Funktion lautet wie folgt:
<span><span><span class="hljs-title function_ invoke__">str_ends_with</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">$needle</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ haystack : Die Zielzeichenfolge, die überprüft wird.
$ nadel : Ein zum Vergleich verwendeter Unterstring.
Wenn die Zielstring $ Haystack mit $ nadel endet, gibt die Funktion true zurück. Ansonsten falsch .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".txt"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Dateiname mit '.txt' Ende。\n"</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">"Dateiname nicht '.txt' Ende。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Ausgabe:
<span><span>Dateiname mit </span><span><span class="hljs-string">'.txt'</span></span><span> Ende。
</span></span>
In der tatsächlichen Entwicklung müssen wir häufig gleichzeitig den Anfang und das Ende einer Zeichenfolge überprüfen. Zum Beispiel müssen wir bestätigen, dass ein Dateiname mit einem bestimmten Präfix beginnt und mit einem bestimmten Suffix endet. Um dies zu erreichen, können wir Str_starts_with und str_ends_with zusammen verwenden.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"img_picture.jpg"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"img_"</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".jpg"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Dateiname mit 'img_' Anfang并且以 '.jpg' Ende。\n"</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">"Der Dateiname entspricht den Anforderungen nicht。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Ausgabe:
<span><span>Dateiname mit </span><span><span class="hljs-string">'img_'</span></span><span> Anfang并且以 </span><span><span class="hljs-string">'.jpg'</span></span><span> Ende。
</span></span>
Wenn wir mehrere String -Überprüfungen durchführen müssen, können mit str_starts_with und str_ends_with die Lesbarkeit und Effizienz des Codes erheblich verbessern. Es gibt jedoch noch einige Dinge zu beachten:
Leistungsprobleme : Wenn wir mit sehr langen Zeichenfolgen zu tun haben, müssen wir jedoch die Zeitkomplexität dieser beiden Funktionen O (N) beträgt, aber wir müssen dennoch Leistungsprobleme in Betracht ziehen, insbesondere wenn wir häufig eine große Anzahl von Zeichenfolgen überprüfen müssen. Doppelte Berechnungen können durch Stapelverarbeitung oder Caching -Mechanismen reduziert werden.
Charaktercodierung : Diese beiden Funktionen sind für UTF-8-codierte Zeichenfolgen geeignet. Wenn Sie Strings in anderen Codierungsformaten verarbeiten, wird empfohlen, zuerst Codierungskonvertierung durchzuführen.
Die Funktionen str_starts_with und str_ends_with in PHP sind sehr bequeme Werkzeuge, um den Anfang und das Ende einer Zeichenfolge zu überprüfen. In vielen praktischen Szenarien können wir die Lesbarkeit und Effizienz des Codes verbessern, indem wir diese beiden Funktionen kombinieren. Unabhängig davon, ob es sich um einen Dateinamen, eine URL oder eine andere Zeichenfolge handelt, die mit dem Beginn und Ende übereinstimmen muss, hilft uns, die Verwendung dieser beiden Funktionen zu meistern, unsere Ziele schneller zu erreichen.