在 PHP 中,在字符串截取时候,我们通常使用的substr, mb_strcut 和 mb_substr 区别:
substr:是按照字节来截取字符串的,可能会出现不全的字符,其中参数有三个,string, start, length
string 必需 规定要返回其中一部分的字符串

start 必需 规定在字符串的何处开始
  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length 可选 规定要返回的字符串长度。默认是直到字符串的结尾
  • 正数 - 从 start 参数所在的位置返回
  • 负数 - 从字符串末端返回
mb_strcut:是按照字节来截取字符串的,可以设定编码来规避不全的字符,其中参数有三个,string, start,length, encoding
string 必需 规定要返回其中一部分的字符串

start 必需 规定在字符串的何处开始

length 可选 规定要返回的字符串长度。默认是直到字符串的结尾

encoding 可选 编码
 
mb_substr:是按照字来截取字符串的,其余和  mb_strcut 基本一致

forexample :

$str = '字符串截取测试不同的结果';

echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');

echo "
";

echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
?>

输出:
mb_substr:字符串截取测
mb_strcut:字符