Avatar ·

PHP中的str_starts_with和str_ends_with函数:如何检查字符串的开头和结尾?

大家好!我是PHP新手,正在写一个小项目。我有一个任务:需要检查字符串是否以特定前缀开头或以特定后缀结尾。例如,我处理文件名,只想过滤那些以"report_"开头或以".pdf"结尾的文件。 我听说PHP 8中引入了str_starts_with()和str_ends_with()函数,但我的项目运行在PHP 7.4上,目前无法升级版本。如何在没有这些内置函数的情况下实现这样的检查? 目前我使用substr()进行比较,但代码变得冗长且可读性差。示例如下: ```php $filename = "report_q1_2024.pdf"; $prefix = "report_"; $suffix = ".pdf"; if (substr($filename, 0, strlen($prefix)) === $prefix) { echo "以前缀开头"; } if (substr($filename, -strlen($suffix)) === $suffix) { echo "以后缀结尾"; } ``` 这能工作,但我觉得应该有更优雅的方法。也许