当块执行时preg_match条件?

时间:2011-02-22 09:22:57

标签: php pcre

当块执行时

preg_match条件?

我有一个

$A = Array (
 [0] => KSO/OCMT/GBP66401,/ 001 VTS EMIS 43628
 [1] => KSO/OCMT/GBP1836,22/ ENCT LCR 090724 
)   

$test = 'KSO';

foreach($A as $temp_indice=>$temp)
{
      if(preg_match("`(.*)".$test."(.*)`im", $temp,$matches)) 
       {
        //WHEN THIS BLOCK IS EXECUTE?
       }
    }

我已阅读preg_match但未从上述代码中了解。

这里的任何人都能很好地理解preg_match解释我吗?

2 个答案:

答案 0 :(得分:1)

preg_match()是关于正则表达式(又名正则表达式),它的目标是搜索字符串是否与特定模式匹配,例如检查它是否包含特定单词,如果它是电子邮件,邮政编码,......

这里你的正则表达式将匹配任何包含字符串'KSO'的字符串。正则表达式使用特定的语法,这可能是你不理解它是如何工作的原因。您可以在此处找到更多详细信息:http://www.regular-expressions.info/

答案 1 :(得分:1)

如果找不到匹配项,则

preg_match会返回0,如果匹配则会1(并停在那里,请使用preg_match_all获取更多信息)

0也称为false的布尔1true

这意味着,如果找到匹配项(每次KSO找到一个名为$A的数组中的行,它就会执行块