以相同名称重新创建返回的变量

时间:2011-03-11 05:22:25

标签: php arrays function variables

我有一个返回变量数组的函数。它返回的变量取决于它需要返回的内容。例如,一次可以return array($pet,$color);,另一次可以return array($height,$width,$table);

在接收端,我想让这些变量可用。如果我知道我期待$pet and $color,我可以做类似

的事情
list($pet, $color) = myfunction();

但我不知道每次返回的函数是什么。那么当我收到函数输出时,有没有一种方法可以在相同的名称下重新创建这些变量?

编辑:我希望不必通过定义一个关联数组来实现它,该数组除了变量本身之外还将变量的名称保存为字符串。

2 个答案:

答案 0 :(得分:3)

函数是否返回关联数组,例如

return array(
    'height' => $height,
    'width'  => $width,
    'table'  => $table
);

如果是这样,您可以使用extract函数将每个条目带入当前作用域的符号表

答案 1 :(得分:1)

我认为您需要使用关联数组,因此条目将具有与之关联的固定名称:

array('height'=> $ height,'width'=> $ width,'table'=> $ table)