为了账号安全,请及时绑定邮箱和手机立即绑定

在这种情况下,为什么 mb_substr 和 mb_strlen 不能按预期工作?

在这种情况下,为什么 mb_substr 和 mb_strlen 不能按预期工作?

PHP
梵蒂冈之花 2022-10-28 16:25:38
我正在尝试删除字符串的第一个和最后一个字符。我正在经历奇怪的事情。一探究竟:$string = 'This is a test.';$string = mb_substr($string, 1, mb_strlen($string) - 1);var_dump($string);输出:string(14) "his is a test."然后这个:$string = 'This is a test.';$string = mb_substr($string, 1, mb_strlen($string) - 2);var_dump($string);输出:string(13) "his is a test"字符串的长度减 1 应该足够了,但我必须减 2。为什么?
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

因为你的字符串This is a test.长度是15

要获得没有最后一个和第一个符号的新字符串 - 您需要13 个符号,这正是mb_strlen($string) - 2.

此外,第三个参数不是最后考虑的符号的位置,它是mb_substr接收的子字符串的长度。


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信