PHP 判断字符串包含
249 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 判断字符串包含 (米扑博客)