很奇怪,echo substr('470482916035‬',-6);//输出是035

goimt 2019-12-14 10:52:47
echo substr('470482916035‬',-6);//输出是035
正常应该是输出:916035才对,
什么问题
...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
和顺和 2019-12-20
  • 打赏
  • 举报
回复
截取的对象是数字,转化为浮点型
小小菜鸡咩 2019-12-18
  • 打赏
  • 举报
回复
从最后移动光标,在单引号之后会到多移动一次
小小菜鸡咩 2019-12-18
  • 打赏
  • 举报
回复
你把 470482916035‬ 手动写一遍就好了 可能是编码问题
yt_php 2019-12-15
  • 打赏
  • 举报
回复
看到楼主和回复,我以为发现一个php的bug,差点就信了。明明就是916035。
于小九 2019-12-15
  • 打赏
  • 举报
回复
substr截取位置是负数时会有三个字节组成的空字符,dump(substr('470482916035‬',-9));时才可以得到需要的数据 如果需要截取的对象是数字时可以尝试把数据对象转化为浮点型来解决
$str = '470482916035‬';
dump(substr((double)$str,-6));
trainee 2019-12-15
  • 打赏
  • 举报
回复
我的测试是 916035
你家的PHP是什么版本啊

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧