farklı / benzersiz sonuçlar sağlamak preg_match_all

3 Cevap php

Ancak ben çiftleri, yani farklı / benzersiz olmak içermezler sonuçlarını istiyorum, '$' ile başlayan bir komut tüm değişkenleri maç için aşağıdaki kodu kullanıyorum:

preg_match_all('/\$[a-zA-Z0-9]+/', $code, $variables);

Herhangi bir tavsiye?

3 Cevap

Aşağıdaki kodu deneyin:

preg_match_all('/\$[a-zA-Z0-9]+/', $code, $variables);
$variables = array_unique($variables);

Regex ile bunu yapmayın. Eğer tüm bunları toplanan sonra $variables, sadece normal bir programlama mantığı / işlemleri kullanarak bunları filtre. Örneğin, söz konusu bamya array_unique olarak kullanılması.

Ayrıca, regex bu durumda ne yapacağız:

// this is $not a var
foo('and this $var should also not appear!');
/* and what about $this one? */

Her üç "değişken" ($not, $var ve $this) değişkenleri değil, ama regex ile uyumlu olacaktır.