-2

我有下一个代码:

$string = "hello to all world";
$strings_compare = tomorrow, hello, world;
$string_arrays =split(',',$strings_compare);

      for ($i=0; $i<count($string_arrays); $i++){
          $resultado = preg_match("/$string_arrays[$i]/",$string);
             if($resultado == false){   
             echo "no match";              
             }else {
            echo "match";
             }
      }

在这段代码中,结果是:不匹配,匹配,不匹配

结果应该是:不匹配,匹配和匹配。我的错误是什么?

如果我改变$string结果$string='say hello to all world now' 是匹配,匹配,匹配,这没关系。

4

2 回答 2

1

当我使用有效的数组语法时,它对我来说很好。

<?php
$string = "hello to all world";
$string_arrays = array("tomorrow", "hello", "world");

for ($i=0; $i<count($string_arrays); $i++) {
    $resultado = preg_match("/$string_arrays[$i]/",$string);
    if(!$resultado) {   
        echo "no match";              
    } else {
        echo "match";
    }
}

退货

没有匹配匹配匹配

于 2012-09-18T11:56:30.923 回答
0

Try this:

$resultado = preg_match("/".preg_quote($string_arrays[$i])."/",$string);

Also:

$string_arrays = array("tomorrow", "hello", "world");
于 2012-09-18T11:53:39.733 回答