PHP 8.0 中 substr() 省略第三个参数 $length 时自动截取到字符串末尾,如 substr("hello world", 6) 返回 "world";支持负数 $start,超界则返回空字符串;PHP 5.0+ 已支持。

PHP 8.0 中,substr() 函数的第三个参数 $length 可以省略,此时它会从起始位置截取到字符串末尾。
省略 length 的写法
直接不传第三个参数即可,语法为:
substr($string, $start)
这等价于:substr($string, $start, strlen($string) - $start),即自动取到末尾。
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
常见用法示例
-
substr("hello world", 6)→ 返回"world"(从索引 6 开始到结尾) -
substr("PHP8.0", 3)→ 返回"8.0" -
substr("test", -2)→ 返回"st"(支持负数起始位置)
注意事项
省略 $length 不影响负数 $start 的行为,仍按标准规则计算起始点。
如果 $start 超出字符串长度(如大于等于字符串长度),返回空字符串 ""。
该用法在 PHP 5.0+ 就已支持,PHP 8.0 完全兼容,无需额外配置。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










