PHP-строка в переменную - PullRequest
       3

PHP-строка в переменную

0 голосов
/ 27 июля 2010

Я построил переменную $ 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])

Я пытаюсь использовать переменную $ line в одном из циклов if, а preg_match не работает.Однако, если бы я скопировал и вставил значение $ line в операторе if, он работал бы просто отлично.Любой вклад будет оценен!

1 Ответ

4 голосов
/ 27 июля 2010

Вот альтернативное решение для премий и, возможно, лучше:

$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 завершается неудачно, все это терпит неудачу, и нет необходимости продолжать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...