php字符串变量

时间:2010-07-27 04:29:30

标签: php regex

我根据以下内容构建了变量$ line:

foreach ($regex as $each){
 $parts = explode('::',$each);
 $pattern = '"/^'.$parts[1].'/i"';
 $subject = '$row['.$parts[0].']';

 $line .= 'preg_match'.'('.$pattern.','.$subject.')';
 if (end($regex) != $each){
 $line .= '&&';
 }
}

我有一个调用$ line的函数。一旦调用,echo $ line将产生以下输出:

preg_match("/^ab/i",$row[RG])&&preg_match("/^cd/i",$row[EX])

我试图在其中一个if循环中使用$ line变量,而preg_match不起作用。但是,如果我要在if语句中复制并粘贴$ line的值,它就可以了。任何意见都将不胜感激!

1 个答案:

答案 0 :(得分:4)

这是一个替代解决方案,可能更好:

$passed = true;
foreach ($regex as $each){
 $parts = explode('::',$each);
 $pattern = '/^'.$parts[1].'/i';
 $subject =  $row['"'.$parts[0].'"'];

 if (!preg_match($pattern, $subject)) {
     $passed = false;
     break;
 }
}

if ($passed) {
    echo 'Woohoo! It passed!';
}

这可能是首选方法,因为如果一个preg_match失败,那么一切都失败了,没有必要继续。