не работет IF ELSE почему-то

@lex

Новичок
не работет IF ELSE почему-то

PHP:
foreach ($A as $val)
	{
		if(preg_match($val, $B))
			{
				include $val.'.php';
				//Возвратит $out = 'чего-то';
			}
		else	
			{
				$out = $B;
			}
	}
не работет IF ELSE почему-то
Если в $B найдено $val то должен просходить инклуд,
после которого $out примет какое-то значение.
иначе(Если в $B не найдено $val),то $out = $B
Происходит в реале:
сначала инклуд, а потом $out = $B вне зависимости от того, что возвращает preg_match($val, $B)
Help!
 

@lex

Новичок
Автор оригинала: boombick
делать include внутри foreach - это жесть конечно...
И чего Вам показалось жестью???

To hermit_refined

не верю, но в чем проблема понять не могу.
 

Фанат

oncle terrible
Команда форума
ссылка, которую он привел, помогает разобраться.
Раздел "Поиск ошибок в своем алгоритме"
 

@lex

Новичок
Если в preg_match($val, $B) вместо $val поставить его значение(preg_match('XXX', $B)), то все работает четко.
print_r($A):
[0]=>XXX
[1]=>YYY
[2]=>ZZZ

в чем проблема понять не могу.
 

Фанат

oncle terrible
Команда форума
а нужен ли здесь поиск подстроки?
может быть, сравнение будет более правильным вариантом?
 

hermit_refined

Отшельник
(*честно говоря, не хотелось бы знать смысл этого кода. чувствую, там жуть на жути сидит и жутью погоняет*)

@lex
если хотите остаться невредимым - лучше отлаживайте самостоятельно ;-)
 
Сверху