PHP:获取调用引用的数组名称

时间:2012-04-18 01:22:59

标签: php function

假设以下功能并致电:

function doSomething( &$someArray ) {
    // Do something to $someArray
}

$names=array("John", "Paul", "George", "Ringo");
doSomething($names);

有没有办法从函数中获取引用数组的名称(在本例中为“names”)?我知道我可以重构为函数添加另一个参数来获取数组变量的名称,但这只是邀请错误。用例是每个数组$ someSillyName该函数需要访问数据库表someSillyName。

感谢。

2 个答案:

答案 0 :(得分:4)

号*
如果"names"doSomething完成工作的必要信息,请将其作为参数传递。

*您可以使用调试回溯和大量内省,但那是疯狂。调用者范围中的变量名称应该对任何事物都没有影响。

答案 1 :(得分:2)

在PHP中无法做到这一点。

此外,您应该避免为应用程序逻辑使用变量名称。想象一下,有人将你的$ name重构为其他东西..你可以像这样修改你的数组:

$dbData = array(
    'names' => array("John", "Paul", "George", "Ringo")
);

这也应该可以帮助您应用程序的其他部分。如果您真的想这样做,我建议您创建一个封装此数组的类,并提供getDatabaseName();getData();

之类的内容