You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP判断字符串x与o数量相等的代码返回true原理疑问

原理说明

substr_count是PHP内置的字符串统计函数,当统计的目标子串在待搜索字符串中完全不存在时,该函数会直接返回整数0,而非空、false等其他值。
他人给出的精简代码运行逻辑完全符合题目要求的核心原因如下:

  • 当输入字符串不含x也不含o(比如输入zzz)时,substr_count(strtolower($s),'o')返回0,substr_count(strtolower($s),'x')也返回0,0 == 0的判断结果就是布尔值true,刚好匹配题目要求的「无x和o时返回true」的规则
  • 当字符串只含x或只含o时,其中一个统计值为大于0的整数,另一个为0,判断结果为false
  • 当字符串同时含x和o时,直接比较两者的统计值是否相等,和题目要求完全匹配
两段代码的等价性

你的代码和他人的精简代码逻辑完全等价,只是写法不同:

  • 你的代码额外做了「是否存在x或o」的前置判断,当不存在时直接返回true,存在时再比较计数
  • 他人的代码利用了substr_count无匹配返回0的特性,省略了前置判断,直接比较两个计数的结果:当两个计数都是0时自然相等,等效于你代码中「无x和o返回true」的分支逻辑

内容的提问来源于stack exchange,提问作者BigJonna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:00:04