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

php如何用strstr查找多个字符比如$aa="1234567@0"里查找1或2或@只要查找到一个就可以... php 如何用strstr 查找多个字符
比如$aa="1234567@0"
里查找1或2或@只要查找到一个就可以
展开
 我来答
wood_man
2016-10-17 · TA获得超过137个赞
知道小有建树答主
回答量:78
采纳率:100%
帮助的人:63.5万
展开全部

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手册网址:

http://php.net/manual/zh/function.strstr.php

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式