php preg_match里面的变量

时间:2017-11-06 10:11:52

标签: php

我知道有关此问题的一些帖子重复 - 但遗憾的是我找不到任何匹配的答案。

我正在尝试用变量

替换“field_name”
if(preg_match('/^field_name/', $key)){
}

所以我尝试了以下尝试 - 但没有成功......

if(preg_match('/^\['.$field_name.'\]/', $key)){}      

------------------------------------------------

if(preg_match('/$field_name/', $key)){}

------------------------------------------------

if(preg_match('/^[$field_name]/', $key)){}

------------------------------------------------

if(preg_match('/^{'. $field_name .'}$/', $key)){}

2 个答案:

答案 0 :(得分:2)

您的代码无效的原因是因为在大多数情况下您使用错误的语法(引号)来包含变量

您不能将变量放在单引号内,正确的代码是:

if(preg_match('/'.$field_name.'/', $key)){}

答案 1 :(得分:1)

$field = 'test';

if(preg_match("/^$field/", 'test')){
  echo 'working';
}

使用双引号确保php解析字符串中的变量。