pHp函数 - 测试我的变量是否存在以及条件是否得到遵守

时间:2017-06-28 08:54:28

标签: php function conditional-statements isset

我想创建一个php函数。基本上,这就是我的意思:

if(isset($myvariable) AND $myvariable == "something")
{
 echo 'You can continue';
}

这就是我想要的:

if(IssetCond($myvariable, "something"))
{
 echo 'You can continue';
}

我想要测试变量是否存在的函数,如果确实存在,则测试条件是否得到遵守。否则返回false。

我尝试过很多东西,但是当my myvariable不存在时我仍然有问题。

function IssetCond($var, $value){
    if(isset($var) AND $var == $value)
    {
        return true;
    }
    else
   {
        return false;
   }
}

当$ myvariable存在且条件是否得到遵守时,它会起作用。

如果你有一些时间来帮助我,我将不胜感激。

由于

托马斯

3 个答案:

答案 0 :(得分:2)

您可以只传递名称,而不是var,并使用变量

function IssetCond($var, $value){
    return (isset($$var) AND $var == $value);
 }

一样使用
 if(IssetCond('myvariable', "something"))
 {
     echo 'You can continue';
 }

答案 1 :(得分:0)

你的想法很好但是如果你将一个变量传递给你的函数你将该变量的值传递给你的函数。如果在您尝试使用函数阻止的错误之前未设置变量。

您可以将引用传递给函数,但如果之前未设置变量,则会导致同样的问题。

答案 2 :(得分:0)

我想我找到了答案,感谢@Teko

   $a = "3";
   function IssetCond($var, $value){
    global $$var;
    if (isset($$var) && $$var == $value)
    {   return true;}
    return false;
 }
if(IssetCond('d', 4))
{
    echo 'first test'; // wont display
}
if(IssetCond("a", 3))
{
    echo 'second test'; // will display
}
if(IssetCond("a", 4))
{
    echo 'third test'; // wont display
}

感谢大家!