PHP 判断字符串包含
256 views
0
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 输出字符串(echo,print,printf,sprinf,print_r,var_dump)
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2016-07-12 01:01:35
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: PHP 判断字符串包含 (米扑博客)