我有下一个代码:
$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'
结果是匹配,匹配,匹配,这没关系。
答案 0 :(得分: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";
}
}
返回
没有matchmatchmatch
答案 1 :(得分:0)
试试这个:
$resultado = preg_match("/".preg_quote($string_arrays[$i])."/",$string);
此外:
$string_arrays = array("tomorrow", "hello", "world");