Heim > Artikel > Backend-Entwicklung > So erhalten Sie die letzten Ziffern einer Zeichenfolge in PHP
Zwei Methoden: 1. Verwenden Sie die Funktion substr(), um die letzten N Ziffern der englischen Zeichenfolge abzufangen. Sie müssen nur den zweiten Parameter der Funktion auf „-N“ setzen und den dritten Parameter weglassen ( $str,-N)"; 2. Verwenden Sie die Funktion mb_substr(), um die letzten N Ziffern der chinesischen Zeichenfolge abzufangen. Sie müssen nur den zweiten Parameter der Funktion auf „-N“ und den dritten Parameter auf N setzen . Syntax „mb_substr($str,-N,N, Zeichenkodierung)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Methode 1: Verwenden Sie die Funktion substr(), um die letzten N Ziffern der englischen Zeichenfolge abzufangen
The Die Funktion substr() kann ab Zeichen beginnen und Zeichen einer bestimmten Länge ab der angegebenen Position in der Zeichenfolge abfangen.
substr(string,start,length)
Parameter | Beschreibung |
---|---|
Zeichenfolge | erforderlich. Gibt einen Teil der Zeichenfolge an, der zurückgegeben werden soll. |
start | Erforderlich. Gibt an, wo in der Zeichenfolge begonnen werden soll.
|
Länge | Optional. Gibt die Länge der zurückzugebenden Zeichenfolge an. Der Standardwert ist bis zum Ende der Zeichenfolge.
|
vom Ende der Zeichenfolge zurück. Setzen Sie einfach den zweiten Parameter der Funktion auf -N
, Wenn der dritte Parameter weggelassen wird, können die letzten N Zeichen der Zeichenfolge abgefangen werden. -N
,第三个参数省略即可截取字符串后N位字符。
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字符串:".$str."<br>"; echo "截取后1位:".substr($str,-1)."<br>"; echo "截取后2位:".substr($str,-2)."<br>"; echo "截取后3位:".substr($str,-3)."<br>"; echo "截取后4位:".substr($str,-4)."<br>"; echo "截取后5位:".substr($str,-5)."<br>"; ?>
注:substr() 函数对英文的处理是没有任何问题的,但是在开发中我们往往是处理中文字符比较多,substr() 函数虽然也能处理中文,但是不是很完美。
<?php header('content-type:text/html;charset=utf-8'); $str="欢迎来到PHP中文网"; echo "原字符串:".$str."<br>"; echo "截取后1位:".substr($str,-1)."<br>"; echo "截取后2位:".substr($str,-2)."<br>"; ?>
那么怎么截取中文字符呢?可以使用mb_substr()函数。
方法2:使用mb_substr()函数截取中文字符串后N位
mb_substr() 函数可以从一个字符串中截取指定的一部分,与 substr() 函数不同的是,mb_substr() 函数不仅对英文字符有效,对中文字符同样有效。
mb_substr(string,start,length,encoding)
参数 | 描述 |
---|---|
str | 必需。从该 string 中提取子字符串。 |
start |
必需。规定在字符串的何处开始。
|
length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
|
encoding | 可选。字符编码。如果省略,则使用内部字符编码。 |
只需要将该函数的第二个参数设置为-N
,第三个参数设置为N
<?php header('content-type:text/html;charset=utf-8'); $str="欢迎来到PHP中文网"; echo "原字符串:".$str."<br>"; echo "截取后1位:".mb_substr($str,-1,1,"utf-8")."<br>"; echo "截取后2位:".mb_substr($str,-2,2,"utf-8")."<br>"; echo "截取后3位:".mb_substr($str,-3,3,"utf-8")."<br>"; echo "截取后4位:".mb_substr($str,-4,4,"utf-8")."<br>"; ?>
Hinweis: Es gibt kein Problem mit der Funktion substr() bei der Verarbeitung von Englisch, aber in der Entwicklung neigen wir dazu, mehr chinesische Zeichen zu verarbeiten. Obwohl die Funktion substr() auch Chinesisch verarbeiten kann, ist sie nicht perfekt.
rrreeeWie kann man also chinesische Schriftzeichen abfangen? Sie können die Funktion mb_substr() verwenden.
🎜🎜Methode 2: Verwenden Sie die Funktion mb_substr(), um die letzten N Ziffern der chinesischen Zeichenfolge abzufangen. 🎜🎜🎜 Die Funktion mb_substr() kann einen bestimmten Teil einer Zeichenfolge abfangen. Funktion nicht nur Es gilt für englische Zeichen und auch für chinesische Zeichen. 🎜rrreee🎜🎜🎜🎜Parameter🎜🎜Beschreibung🎜🎜🎜🎜🎜str🎜🎜🎜Erforderlich. Extrahiert einen Teilstring aus diesem String. 🎜🎜🎜-N
und den dritten Parameter auf N
setzen, um die letzten N Zeichen der Zeichenfolge abzufangen. . 🎜rrreee🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonSo erhalten Sie die letzten Ziffern einer Zeichenfolge in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!