今天在做一个搜索条的时候,想实现多个关键字的模糊搜索。
比如输入张三 李四 王五,那么含有张三或李四或王五的记录就会显示出来。
思路倒是很简单,就是用户不见得会用一个空格间隔,所以要替换成一个,然后explode成数组。
很自然地想到了strpos,递归一个就可以试想。可是一运行,死循环了。。。。
原来,出现在第一个位置是0,不出现是false,而0==false,所以就死循环了。
后来找到解决方法:
如果含有某个字符,就strpos($a,$b)>0或strpos($a,$b)===0.
一切ok。