我有一个带有指向实例化对象的关联键的数组。例如:
$MyArray = array();
$MyArray['Object_A'] = new Object_A();
$MyArray['Object_B'] = new Object_B();
$MyArray['Object_C'] = new Object_C();
我想对这个数组做的是将它提取到变量中作为对这些对象的引用。
extract($MyArray, EXTR_REFS);
该语句有效,我可以像我一样使用该数组中的那些对象$Var = new Object();
。
$Object_A->SomeMethod();
但是,当我在我定义的函数中提取它们时,它们不能再在该函数之外使用。它们可以像下面的示例一样在函数内部使用,但不能在外部使用。
function ExtractObj(&$Array)
{
extract($Array, EXTR_REFS);
$Object_A->SomeMethod(); // This works.
}
所以我需要一种方法来使从该函数中提取的变量可以在函数外部使用。
function ExtractObj(&$Array)
{
extract($Array, EXTR_REFS);
}
$Object_A->SomeMethod(); // Not working (Yet).
注意:我尝试使用global
,static
变量修饰符或方法等,但一切都给我一个错误。