Bir dizi karşı bir değişkenin içinde bir dize eşleştirmek için doğru sözdizimi

2 Cevap php

Ben bir değişken, $var, bu karakter bir dize içeren var, bu girişlerden gelen değerleri içeren dinamik bir değişkendir.

$var 'abc' olabilir, ya da $var 'blu' olabilir,

Ben bir dizi karşı değişkeni içinde dize eşleştirmek istediğiniz, ve tüm eşleşmeleri döndürmek.

$array = array("blue", "red", "green");

Php kod yazma için doğru sözdizimi nedir, benim kaba kod aşağıda

$match = preg_grep($var, $array); (incorrect syntax of course)

Ben hayır şans şimdiye kadar tırnak koymak ve eğik kaçmaya çalıştı, ama. Herhangi bir öneri?

TIA

2 Cevap

$var = 're';

$array = array("blue", "red", "green");

$pattern = '/'.$var.'/';

$matches = preg_grep($pattern, $array);

echo '<pre>';
var_dump($matches);
echo '<pre>';

iadeler

array(2) {
  [1]=>
  string(3) "red"
  [2]=>
  string(5) "green"
}

Denemek

$match = preg_grep('/' . $var . '/', $array);

Patterns for PCREs delimiters içine alınmalıdır.

Tabii ki sizin ihtiyaçlarınıza bağlı olarak, desen ayarlamak zorunda. Örneğin Eğer start olarak dize ile $var Eğer bunu değiştirmek zorunda dizideki tüm dizeleri eşleştirmek isterseniz:

$match = preg_grep('/^' . $var . '/', $array);

Ve böylece ...