@
lizheming 二爷你这是在卖萌么 ... 怎么可能会不知道全等和不全等啦 ...
关于 LZ 的问题 ... 代码本身存在的错误楼上说了不少我就不赘述了 ...
我单纯说一下为什么这段不正确的代码会产生两种不同的结果 ...
这里要以 php 5.3 为分界线 ... 在 php 5.3 之前的任何一个版本 ...
如果你给一个字符串参数传递数组的话会触发一个 Notice 级的 Array to string conversion ...
然后是正常的空字符串查找 ... 返回 false ... 你的代码输出 bbb ...
5.3 之后这种不严谨的行为被修正了 ... 同样的代码会触发一个 type mismatch 的 warning ...
具体描述大概类似这样 ... strpos() expects parameter 1 to be string, array given in file ...
这时函数无法正常执行 ... 返回值是 null ... 你的代码输出 aaa ...
所以我们得到结论 ... 造成这个问题的根本原因是你的两个环境 php 版本不同 ...
输出 bbb 的 php 版本一定低于输出 aaa 的 php 版本 ...
另外提供一个建议 ... 在开发的时候保持 error_reporting 开启 ...
这样的话造成这个区别的原因一眼就能看出来 ... 根本不用浪费一个下午 ...