php 判断一个字符串里是否有某个字符
答案:3 悬赏:30 手机版
解决时间 2021-01-27 06:54
- 提问者网友:你挡着我发光了
- 2021-01-26 13:06
php 判断一个字符串里是否有某个字符
最佳答案
- 五星知识达人网友:山君与见山
- 2021-01-26 14:11
PHP中如何判断一个字符串中是否有某个字符,如下:
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。
1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含
代码如下:
< ?php
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain;
// prints @example.com
?>
2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle);
4. 用explode进行判断
PHP判断字符串的包含代码如下:
function checkstr($str){
$needle = "a";//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。
1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含
代码如下:
< ?php
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain;
// prints @example.com
?>
2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle);
4. 用explode进行判断
PHP判断字符串的包含代码如下:
function checkstr($str){
$needle = "a";//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
全部回答
- 1楼网友:风格不统一
- 2021-01-26 14:59
使用strpos函数即可;示例(判断xp是否存在于$str字符串中):
$str = 'chinawinxp';
if(strpos($str,'xp')===false){
echo '不存在!';
}else{
echo '存在!'
}
- 2楼网友:煞尾
- 2021-01-26 14:17
PHP 判断字符串是否包含其它字符
以下几个函数均可用来判断某字符串是否包含另外一个字符串PHP 中判断一个字符串是否包含其它字符是很常见的操作。 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼。 如果这几个函数恰好能帮上你的忙,我将会很高兴的。这几个函数中,我比较喜欢第四个。。。
复制代码 代码如下:
<?php
function isInString1($haystack, $needle) {
//防止$needle 位于开始的位置
$haystack = '-_-!' . $haystack;
return (bool)strpos($haystack, $needle);
}
function isInString2($haystack, $needle) {
$array = explode($needle, $haystack);
return count($array) > 1;
}
function isInString3($haystack, $needle) {
$pattern = '/' . $needle . '/';
return (bool)preg_match($pattern, $haystack);
}
function isInString4($haystack, $needle) {
return false !== strpos($haystack, $needle);
}
//测试
$haystack = 'I am ITBDW';
$needle = 'IT';
var_dump(isInString1($haystack, $needle));
我觉得最简单的就是这种了 strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false。
用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !== 判断一下类型,要确保是严格的 false。昨天晚上去中关村图书大厦,看到一本书中用的是 strpos === true 来判断,这是极其不正确的。。。
出错的书为《PHP求职宝典》107页(2012-02-26更新)
其它的还有 PHP 原生支持的函数,如 strstr(),stristr() 等,直接判断就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯