php 在字符串中搜索单词?

php search within string for word?

我正在使用 PHP 的 preg_match 来帮助确定字符串的值。
但是代码只会打印 1 或 2。

为什么我的 if 语句的最后两个案例不匹配?

$atype = strtolower($userData['user_type']);   // let say data is :: company introducer

if ($atype == "individual introducer" || $atype == "individualintroducer" || 
    (preg_match('/i/',$atype) AND preg_match('/int/',$atype)) ) {

       $atype = 1 ;

} elseif ($atype == "individual investor" || $atype == "individualinvestor" ||         
          (preg_match('/i/',$atype) AND preg_match('/inv/',$atype)) ) {

       $atype = 2;

} elseif ($atype == "company introducer" || $atype == "companyintroducer" || 
          (preg_match('/c/',$atype) AND preg_match('/int/',$atype)) ){

       $atype = 3;

} elseif ($atype == "company investor" || $atype == "companyinvestor" || 
          (preg_match('/c/',$atype) AND preg_match('/inv/',$atype)) ){

       $atype = 4;

}

echo $atype;

您需要以更好的方式解释您的问题。

但我想正如你所说,假定的数据是 company introducer

所以它已经匹配第一个 if 块的条件。 例如:

在公司介绍人 preg_match 将 return 为真。

if($atype == "individual introducer" || $atype == "individualintroducer" || (preg_match('/i/',$atype) AND preg_match('/int/',$atype))  ){
    $atype =1 ;
}