php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@
php如何用strstr查找多个字符比如$aa="1234567@0"里查找1或2或@只要查找到一个就可以...
php 如何用strstr 查找多个字符
比如$aa="1234567@0"
里查找1或2或@只要查找到一个就可以 展开
比如$aa="1234567@0"
里查找1或2或@只要查找到一个就可以 展开
1个回答
展开全部
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手册网址:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询