4种方法:1、用“$字符串变量名[0]”语句;2、用substr()截取第一个字符,语法“substr(英文字符串,0,1)”;3、用mb_substr()截取第一个字符,语法“mb_substr(中文字符串,0,1,编码)”;4、用mb_strcut()截取第一个字符,语法“mb_strcut(中文字符串,0,3,编码)”或“mb_strcut(英文字符串,0,1,编码)”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php获取字符串中第一个字符的几种方法
方法1:利用$字符串变量名[0]语句获取
将字符串看做字符集合(数组),数组的第一个值就是下标为0的元素的值。
注:中文字符串不适用!
<?php header('content-type:text/html;charset=utf-8'); $str = 'hello'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".$str[0]; ?>
方法2:使用substr()函数截取第一个字符
substr() 函数可以从字符串的指定位置截取一定长度的字符。
substr(string,start,length)
参数 | 描述 |
---|---|
string | 必需。规定要返回其中一部分的字符串。 |
start | 必需。规定在字符串的何处开始。
|
length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
|
只需要将该函数的第二个参数设置为0,第三个参数设置为1即可
<?php header('content-type:text/html;charset=utf-8'); $str = 'Ahello'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".substr($str,0,1)."<br>"; ?>
注:中文字符串不适用!
方法3:使用mb_substr()函数截取第一个字符
mb_substr() 函数可以从一个字符串中截取指定的一部分,与 substr() 函数不同的是,mb_substr() 函数不仅对英文字符有效,对中文字符同样有效。
mb_substr(string,start,length,encoding)
参数 | 描述 |
---|---|
str | 必需。从该 string 中提取子字符串。 |
start | 必需。规定在字符串的何处开始。
|
length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
|
encoding | 可选。字符编码。如果省略,则使用内部字符编码。 |
只需要将该函数的第二个参数设置为0,第三个参数设置为1即可
<?php header('content-type:text/html;charset=utf-8'); $str = 'Mhello'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".mb_substr($str,0,1,"utf-8")."<br><br><br>"; $str = '欢迎来到PHP中文网'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".mb_substr($str,0,1,"utf-8")."<br>"; ?>
方法4:使用mb_strcut()截取第一个字符
mb_strcut()和mb_substr()有点相似,都可设置字符编码,但不同的是mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符但是都不会产生半个字符的现象。即:
-
mb_substr()函数对英文或中文字符都表示一个单位。
-
mb_strcut()函数对中文字符是3个单位,英文是1个单位。
<?php header('content-type:text/html;charset=utf-8'); $str = 'Bhello'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".mb_strcut($str,0,1,"utf-8")."<br><br><br>"; $str = '欢迎来到这里'; echo "原字符串为:"; var_dump($str); echo "字符串的第一个字符为:".mb_strcut($str,0,3,"utf-8")."<br>"; ?>