PHP判断字符串的包含,可以使用PHP的内置函数 strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数

 

1. strstr 和 stristr的用法     

strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含. 
stristr: 它和strstr的使用方法完全一样,唯一的区别是stristr不区分大小写.

$mimvp = 'proxy@mimvp.com';
$domain = strstr($mimvp, '@');			// 返回从被判断字符开始到结束的字符串
echo $domain . "<br>";

$mimvp = 'proxy@MImvp.com';
$domain = strstr($mimvp, 'mimvp');		// 区分大小写
echo $domain . "<br>";

$domain = stristr($mimvp, 'mimvp');		// 不区分大小写
echo $domain . "<br>";

/* 返回结果:
 @mimvp.com

 MImvp.com
 */

 

2. strpos 用法  

strpos: 返回第一次匹配的位置,起始值为0。

strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空,意思是判断整个字符串,缺点是对中文的支持不好.

$mimvp = 'proxy@mimvp.com';
$pos = strpos($mimvp, '@');			// 返回第一次匹配的位置,起始值为0
echo $pos . "<br>";

$pos = strpos($mimvp, 'mimvp');		// 判断字符串 mimvp
echo $pos . "<br>";

$pos = strpos($mimvp, 'm');			// 判断多个字符 m
echo $pos . "<br>";

/* 返回结果:
 5
 6
 6
 */

 

3. explode 用法     

用explode辅助判断PHP判断包含字符串

// 判断是否包含字符,true - 包含; false - 不包含
function checkstr($str, $needle) {
	$str_array = explode ( $needle, $str );
	echo var_dump($str_array);
	echo "         +++++          ";
	if (count ( $str_array ) > 1) {
		return true;
	} else {
		return false;
	}
}

$mimvp = 'proxy@mimvp.com';
echo checkstr($mimvp, '@') . "<br>";			// 两个元素
echo checkstr($mimvp, 'proxy') . "<br>";		// 两个元素,第一个元素为空 ""
echo checkstr($mimvp, 'proxy2') . "<br>";		// 只有一个元素,即$mimvp本身
echo checkstr($mimvp, $mimvp) . "<br>";			// 两元素都为空 ""

/* 返回结果:
	array(2) { [0]=> string(5) "proxy" [1]=> string(9) "mimvp.com" } +++++ 1
	array(2) { [0]=> string(0) "" [1]=> string(10) "@mimvp.com" } +++++ 1
	array(1) { [0]=> string(15) "proxy@mimvp.com" } +++++ 
	array(2) { [0]=> string(0) "" [1]=> string(0) "" } +++++ 1
 */

 

4. in_array   检查数组中是否存在某个值例子  

1. in_array() 例子
<?php
	$os = array("Mac", "Unix", "Linux", "Linux");
	if (in_array("Linux", $os)) {
		echo "Got Linux";
	}
	if (in_array("mac", $os)) {
		echo "Got mac";
	}
?>
第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为:Got Linux
 
 
2. in_array() 严格类型检查例子
<?php
	$num = array('1.10', 12.4, 1.13);
	if (in_array('12.4', $num, true)) {
		echo "'12.4' found with strict check</br>";
	}
	if (in_array(1.13, $num, true)) {
		echo "1.13 found with strict check</br>";
	}
?>
上例将输出:
1.13 found with strict check
 
 
3. in_array() 中用数组作为 needle
<?php
	$arr = array(array('p', 'h'), array('p', 'r'), 'o');
	if (in_array(array('p', 'h'), $arr)) {
		echo "'ph' was found</br>";
	}
	if (in_array(array('f', 'i'), $arr)) {
		echo "'fi' was found</br>";
	}
	if (in_array('o', $arr)) {
		echo "'o' was found</br>";
	}
?>
 
上例将输出:
'ph' was found
'o' was found

 

参考推荐:

PHP 字符串函数总结

PHP 判断数字,字母,特殊符号,中文

php 常用函数总结(数组,字符串,时间,文件操作)

PHP 输出字符串(echo,print,printf,sprinf,print_r,var_dump)