如何检查变量是否由名称定义

时间:2014-09-25 10:20:03

标签: php

我想要一个只在定义变量时才会呈现变量的函数,否则什么都不做。我不希望这个检查在混合了html的脚本中发生(和错误),而是在这样的函数中发生:

/**
* Echos a variable if it's set
*/
function render($var_name)
{
    if (eval('return(isset(' . $var_name . '))'))
        echo eval($var_name);
}

此错误:

Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in inc\page.php(8) : eval()'d code on line 1 Call Stack #TimeMemoryFunctionLocation

有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

试试这个:

function render($var_name)
{
    if (isset($$var_name))
        echo $$var_name;
    else
        echo "not defined";
}

DEMO

答案 1 :(得分:0)

     function render($value){
          if(isset($value)){
             echo $value;
        }
      }

答案 2 :(得分:0)

你可能想尝试这样的事情:

<?php
function render($var_name){
    if(isset($var_name)){
      return $var_name;
    }
    return false;
}

$test = 'TESTER';

echo render($test);
?>

演示:https://eval.in/198437