php怎么求字符串的第一个字符

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 必需。规定在字符串的何处开始。

  • 正数 – 在字符串的指定位置开始
  • 负数 – 在从字符串结尾的指定位置开始
  • 0 – 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。

  • 正数 – 从 start 参数所在的位置返回
  • 负数 – 从字符串末端返回

只需要将该函数的第二个参数设置为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 必需。规定在字符串的何处开始。

  • 正数 – 在字符串的指定位置开始
  • 负数 – 在从字符串结尾的指定位置开始
  • 0 – 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。

  • 正数 – 从 start 参数所在的位置返回
  • 负数 – 从字符串末端返回
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>";
?>