Php 如何动态传递if语句的条件

Php 如何动态传递if语句的条件,php,if-statement,Php,If Statement,在这种情况下,我将在一个变量中获得比较字符串,我希望在IF中使用该变量 $xyz = '$abc<200'; // Dummy Dynamic Text if($xyz) { // It should execute like if($abc<200) echo 'you are dynamic'; } $xyz='$abc您不能使用引号,因为它正在从中生成字符串。这样做: $xyz=($abc<200); //or, as well, $xyz=$abc<2

在这种情况下,我将在一个变量中获得比较字符串,我希望在IF中使用该变量

$xyz = '$abc<200'; // Dummy Dynamic Text

if($xyz) { // It should execute like if($abc<200)
    echo 'you are dynamic';
}

$xyz='$abc您不能使用引号,因为它正在从中生成字符串。这样做:

$xyz=($abc<200); //or, as well, $xyz=$abc<200
if($xyz) { 
    echo 'you are dynamic'; 
}

$xyz=($abcEval有时被禁用。这是出于安全原因。通常与suhosin一起使用。Eval可能是邪恶的!请考虑代码注入

您可以尝试使用匿名函数

<?php

$func = function($abc) {
  return $abc<200;
};


if ($func($abc)) {
   // great
}

如果你能回答你的问题,解释一下为什么会出现这种情况以及你实际上在做什么,那将是非常有帮助的。盲目地将字符串作为代码片段进行评估通常是一个非常糟糕的主意。1.
var_dump($abc)的输出是什么
2.这上面没有任何动态,您只需给变量赋值?!
$xyz='$abc是否希望能够解析if语句中的表达式?如果$abc<200,它必须工作-是否检查了$abc变量中的值?
$xyz=($abc@itssajan可以,但这只是将
$xyz
的值从
true
更改为
1
,并从
false
更改为
0
,使用
if($xyz)
进行检查将得到相同的结果result@MujahedAKAS哦,现在我明白你的意思了!看我编辑的答案,它是有效的!来自手册:“eval()除非在求值代码中调用return,否则返回NULL,在这种情况下,将返回传递给return的值。”
<?php

$func = function($abc) {
  return $abc<200;
};


if ($func($abc)) {
   // great
}