Problem pojawia się gdy do funkcji preg_match zaczynam podstawać wzorce pobrane z talicy, wartość wzorca podana jako pierwsza do funkcji preg_match zostaje jak by zapamiętana. Pomimo podania innej wartości wzorca, warunek jest sprawdzany dla wartości podanej na samym początku a nie tej ostatniej. Z czego to wynika i jak to ominać?
Mam nadzieję że dość zrozumiale opisałem problem. Niżej poglądowy przykład:
public function get( $id_pattern=0) { '0'=>'[pattern1]', '1'=>'[pattern2]', '2'=>'[pattern3]' ); { foreach($this->content as $c) { if($return) { return $return; break; } else { { $this->get(++$id_pattern); break; } } } } }
Działa to albo powinno działać w ten sposób że jeśli w tablicy nie znajdzie niczego co pasuje do pierwszego wzorca to sprawdza dla kolejnego itd.