例子。explode
代码如下 | 复制代码 |
function checkstr($str){ $needle = "b";//判断是否包含a这个字符 $tmparray = explode($needle,$str); if(count($tmparray)>1){ return true; } else{ return false; } } |
原理非常的简单:就是以我们要查找的字符为定界,然后我们再利用explode分成函数,如果分切成功之后并且数组长度大于1那不代码是存在你要找到字符了,否则就没有了,这个只适用于判断字符串中是否存在字符,更多深一层就无法操作了。
例子,strpos()
strpos() 函数返回字符串在另一个字符串中第一次出现的位置
代码如下 | 复制代码 |
<?php $attach='omr/online/php/img/news/'; //注意要用 !== //查找的字符串在第一个位置返回是0 if (strpos($attach, 'omr/online') !== false) { //如果包含omr/online } ?> |
例子,strstr()
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
代码如下 | 复制代码 |
<?php $attach='omr/online/php/img/news/'; //注意要用 !== //返回字符串的其余部分(从匹配点) if (strstr($attach, 'omr/online') !== false) { //如果包含omr/online } ?> |
总结
我觉得最简单的就是这种了 strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false。
用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !== 判断一下类型,要确保是严格的 false。昨天晚上去中关村图书大厦,看到一本书中用的是 strpos === true 来判断,这是极其不正确的
时间: 2024-11-30 12:30:18