我有一个返回变量数组的函数。它返回的变量取决于它需要返回的内容。例如,一次可以return array($pet,$color);
,另一次可以return array($height,$width,$table);
在接收端,我想让这些变量可用。如果我知道我期待$pet and $color
,我可以做类似
list($pet, $color) = myfunction();
但我不知道每次返回的函数是什么。那么当我收到函数输出时,有没有一种方法可以在相同的名称下重新创建这些变量?
编辑:我希望不必通过定义一个关联数组来实现它,该数组除了变量本身之外还将变量的名称保存为字符串。
答案 0 :(得分:3)
函数是否返回关联数组,例如
return array(
'height' => $height,
'width' => $width,
'table' => $table
);
如果是这样,您可以使用extract
函数将每个条目带入当前作用域的符号表
答案 1 :(得分:1)
我认为您需要使用关联数组,因此条目将具有与之关联的固定名称:
array('height'=> $ height,'width'=> $ width,'table'=> $ table)