str_ends_with() 仅 php 8.0.0 及以上版本原生支持,php 7.x 调用会报致命错误;低版本需自行实现或使用 polyfill 兼容。

str_ends_with() 是 PHP 8.0 正式引入的内置函数,仅原生支持 PHP 8.0 及以上版本。
原生可用的最低版本
该函数在 PHP 8.0.0 中首次发布,因此:
- PHP 8.0.0 及更新小版本(如 8.1、8.2、8.3、8.4)均直接可用;
- PHP 7.x(包括 7.4)及更早版本没有此函数,调用会触发致命错误:
Fatal error: Uncaught Error: Call to undefined function str_ends_with()。
低版本兼容方案
若需在 PHP
- WordPress 5.9+ 已内置该函数的 polyfill,只要运行在 WordPress 5.9 或更高版本,即可安全调用;
- 自行实现时,建议检查函数是否存在再定义,例如:
function str_ends_with(string $haystack, string|array $needles): bool {
if (is_string($needles)) {
$len = strlen($needles);
return $len === 0 || $len }
foreach ($needles as $needle) {
if (str_ends_with($haystack, $needle)) return true;
}
return false;
}
}
注意事项
该函数是字节级操作,不处理 UTF-8 多字节字符边界(如中文、emoji),对大小写敏感,且空字符串 "" 总是返回 true。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











