假设以下功能并致电:
function doSomething( &$someArray ) {
// Do something to $someArray
}
$names=array("John", "Paul", "George", "Ringo");
doSomething($names);
有没有办法从函数中获取引用数组的名称(在本例中为“names”)?我知道我可以重构为函数添加另一个参数来获取数组变量的名称,但这只是邀请错误。用例是每个数组$ someSillyName该函数需要访问数据库表someSillyName。
感谢。
答案 0 :(得分:4)
号*
如果"names"
是doSomething
完成工作的必要信息,请将其作为参数传递。
*您可以使用调试回溯和大量内省,但那是疯狂。调用者范围中的变量名称应该对任何事物都没有影响。
答案 1 :(得分:2)
在PHP中无法做到这一点。
此外,您应该避免为应用程序逻辑使用变量名称。想象一下,有人将你的$ name重构为其他东西..你可以像这样修改你的数组:
$dbData = array(
'names' => array("John", "Paul", "George", "Ringo")
);
这也应该可以帮助您应用程序的其他部分。如果您真的想这样做,我建议您创建一个封装此数组的类,并提供getDatabaseName();
和getData();