PHP如果声明on有变量

时间:2016-07-13 05:03:01

标签: php if-statement

我需要这方面的帮助,目前我的想法是只使用变量来执行IF语句,这些变量应该从数据库中获取(我已经知道了)但我不知道如何创建if语句可以使用全部3

<?php
$Anum="10";
$Bnum="30";
$MOD="<=";

if ($Anum $MOD $Bnum)
{
echo $Anum, " is smaller than ", $Bnum;
}
else
{
echo "$Anum, " is not smaller than ", $Bnum;
}
?>

3 个答案:

答案 0 :(得分:1)

这对你有用:

$Anum="10";
$Bnum="30";
$MOD=">=";

eval("\$result = ($Anum $MOD $Bnum) ? true : false;");

if ($result) {
    echo "$Anum is smaller than $Bnum";
} else {
    echo "$Anum is not smaller than $Bnum";
}

输出:

10 is not smaller than 30

PHP有variable variables并且可以使用它将字符串扩展为变量,但它不适用于语言结构,仅适用于变量。 “&gt; =”是一个比较运算符,所以:

$Anum.$MOD.$Bnum
//or this
"$Anum $MOD $Bnum"
or this
"{$Anum} {$MOD} {$Bnum}"

您只能获得字符串,在使用true语句时始终会为您提供if。要通过策略实现您的目标,您需要使用eval。但这是一个应该避免的功能,除非你有足够的经验和知识来使用它并承担所有的责任和谨慎。

答案 1 :(得分:0)

试试这个

<?php
$Anum="10";
$Bnum="30";
$MOD="<=";

$result = eval("if($Anum $MOD $Bnum){return true;}else{return false;}");

if ($result)
{
echo $Anum. " is smaller than ". $Bnum;
}
else
{
echo "$Anum, is not smaller than ". $Bnum;
}?>

这里

  

eval(“if($ Anum $ MOD $ Bnum){true} else {false}”);

将执行if条件并返回结果并将其保存到某个变量,并将此变量放入if statment。

答案 2 :(得分:0)

在php中

  

$MOD="<=";将指定为字符串(双引号字符)

要将其指定为比较运算符,您必须执行类似

的操作
 <?php
    $Anum=10;
    $Bnum=30;
    $MOD=">=";
     switch ($MOD) {
            case '<=': if($Anum <= $Bnum){ echo $Anum ." is smaller than ". $Bnum;} else{ echo $Anum ." is not smaller than ". $Bnum; }; break;
            case '>=': if ($Anum >= $Bnum){ echo $Bnum ." is smaller than ". $Anum;} else{ echo $Bnum ." is not smaller than ". $Anum; }; break;
           }

    ?>