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