php 判断是否包含

如题所述

要是指的是判断一个字符串在另一个字符串是否包含?
方法一、使用strstr,strstr返回需要判断是否被包含的字符开始到结束的字符串,如果没有返回值,则不包含。
举例,判断是否包含字符“#”:
<?php
$str='abc#defg';
$in=strstr($str,'#');
echo $in;//输出结果为:#defg
?>
方法二、使用stristr, 它的用法和strstr的完全一样.唯一的区别是stristr不区分大小写,而strstr区分大小写。可以根据实际情况是否区分大小写来使用。
方法三、使用strpos,但它对中文件的支持不是很好,它的返回值为boolean型,也就是true和false(真和假)。执行速度比stristr和strstr都快,strpos函数中有一个参数用于指定判断的位置,默认为空,即判断整个字符串。
下面看例子:
<?php
$str='bde';
$in='b';
$output=strpos($str,$in);
?>
方法四、将字符串用explode来拆分数组再判断。如下:
function chstr($str,$in){
$tmparr = explode($in,$str);
if(count($tmparr)>1){
return true;
}else{
return false;
}
}
$str='abc#defg';
$in='#';//判断是否包含#这个字符
$bh=chstr($str,$in);
if($bn){
echo '字符串'.$str.'包含'.$in;
}else{
echo '字符串'.$str.'不包含'.$in;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-14
其实如果不是特别复杂的字符判断,不建议用正则,php的字符串函数完全可以实现,strpos()例如:
$x = "abc张三klllk";
if(strpos($x,"张三") > 0){
echo "ok";
}
当然这样会有一个问题,就是当"张三"出现在字符串开头的时候,结果也为0,
这时候我们就要在字符串前加一特殊字符来判断。
$x="张三abc";
$x1 = "%**#".$x;
if(strpos($x1,"张三") > 0){
echo "ok";
}本回答被提问者和网友采纳
第2个回答  2016-01-17
if(strspn("aabbcc","aa")>0){echo "aabbcc包含aa";}

第3个回答  2014-02-13
数组用in_array,字符串可以用strrpos
第4个回答  2014-02-13
include_once 或者 require_once
第5个回答  2014-02-13
能补充下问题不?
都不知道你问的是什么!
第6个回答  2014-02-14
不懂你说的是什么意思
相似回答
大家正在搜