如何在PHP中获取变量名?

use*_*729 4 php

func($name1) 应该回来 name1

可能吗?

and*_*vis 7

这是一个功能.

function var_name (&$iVar, &$aDefinedVars)
{
    foreach ($aDefinedVars as $k=>$v)
        $aDefinedVars_0[$k] = $v;

    $iVarSave = $iVar;
    $iVar     =!$iVar;

    $aDiffKeys = array_keys (array_diff_assoc ($aDefinedVars_0, $aDefinedVars));
    $iVar      = $iVarSave;

    return $aDiffKeys[0];
}
Run Code Online (Sandbox Code Playgroud)

像这样称呼它

$test = "blah";
echo var_name($test,  get_defined_vars());
Run Code Online (Sandbox Code Playgroud)

这将打印出"测试".

我最初在这里找到了这个函数你也可以通过遍历get_defined_vars()返回的数组来完成它.这可能更容易理解.

  • 我在CodePad(http://codepad.org/w11zjYUv)中尝试了这个并且它有效.人们应该投票给这个答案.我想知道为什么另一个简单的"否"的回答比这一个得到了更多的选票...... (2认同)
  • "否"拥有更多选票,因为输入"否"所需的时间少于测试和描述解决方案所需的时间.其他人在发布"否"之后进入,但是在回答之前并且投票"否"因为他们不知道如何因此认为它是不可能的.它会有希望地工作:) (2认同)