首页 > 后端开发 > 正文

php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@

2025-01-05 00:09:57 | 我爱编程网

今天我爱编程网小编为大家带来了php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@,希望能帮助到大家,一起来看看吧!

本文目录一览:

php 如何用strstr 查找多个字符 比如$aa=

php strstr判断字符串是否存在

我们经常会用到strstr这个函数来判断某个字符串是否在另外一个字符串里面,如下

$str=“test@163.com”;

$a=163;

echo strstr($str,$a);

//false

是不是瞬间懵逼!

明明存在的啊,原来虽然php是弱语言,但是当用strstr判断时也要保证对比的两个对象是字符串,而上面的变量a是数字,所以返回false

修改如下

$str=“test@163.com”;

$a=163;

echo strstr($str,(string)$a);

将变量a强制转为字符串,结果就是我们想要的了。

你学废了吗0.0

php 如何用strstr 查找多个字符 比如$aa=我爱编程网

php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@

strstr — 查找字符串的首次出现

string strstr
( string $haystack
, mixed $needle
[, bool $before_needle = false
] )

返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。

$needle只能是字符(串)或者数字.不然会提醒:needle is not a string or an integer

如果一定要用strstr查询字符串 $aa中是否包含1或者2或者@ 可以下面这样:

$aa = "1234567@0";
$search = array(1,2,'@');
function test($str , $array_search){
    foreach($array_search as $value){
       if(strstr($str , $value)!==false){
           return true;
       }
    }
    return false;
}
//使用方法
$test = test($aa,$search);//true

如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。

建议使用正则表达式简单些如:

$aa = "1234567@0";
$search = '/[12@]/';
if(preg_match($search , $aa)){
   //包含1或者2或者@
}else{
   //不包含
}

参考PHP手册网址:

php 判断一个字符串里是否有某个字符

我爱编程网(https://www.52biancheng.com)小编还为大家带来php 判断一个字符串里是否有某个字符的相关内容。

php如何判断一个字符串是否包含另一个字符串
我觉得最简单的就是:
strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false。
用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !== 判断一下类型,要确保是严格的 false。
其它的还有 PHP 原生支持的函数,如 strstr(),stristr() 等,直接判断就可以了。
还有什么不懂的就上后盾人看看,我也是在那里学习的

以上就是我爱编程网整理的php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@”相关推荐