PHP用substr_count统计关键词出现次数报错如何解决
PHP substr_count 空字符串报错排查方案
报错根因
substr_count(): Empty substring 报错直接原因是调用substr_count()函数时,传入的第二个参数(待搜索的关键词子串)为空。
分步排查操作
- 检查
keyword_count函数的参数定义与调用逻辑,确认是否存在参数顺序颠倒、关键词参数遗漏传递的问题 - 在
/var/www/html/functions.inc.php第5行substr_count()执行前增加参数校验,提前处理空关键词场景,参考函数实现如下:
function keyword_count(string $content, string $keyword): int { // 空关键词直接返回0,避免触发底层错误 if (trim($keyword) === '') { return 0; } return substr_count($content, $keyword); }
- 若校验逻辑加完仍有报错,临时在
substr_count执行前插入调试代码,确认参数传递是否正常:var_dump($content, $keyword);exit;
运行后如果输出的第二个参数为空,可定位是上层调用函数时没有正确传入test关键词,排查上层传参逻辑即可。
结果验证
修复完成后执行测试代码:echo keyword_count('This is a test one two three test', 'test');
即可输出预期结果2。
内容的提问来源于stack exchange,提问作者rlynch20
相关产品推荐
相关产品推荐

