从字符串创建变量名称.. php

时间:2010-08-25 19:44:58

标签: php

通常我会将一系列参数传递给我的函数。

function do_something($parameters) {}

要访问我必须使用的参数:$parameters['param1']

我想做的是,在这个函数中运行某些逻辑,将那个数组转换为普通变量。我的主要原因是,有时我必须传递一大堆参数,并且必须输入$ parameters ['..']是一种痛苦。

foreach($parameters as $key=>$paremeter) {
    "$key" = $parameter;
}

我认为这可行..但没有雪茄!

4 个答案:

答案 0 :(得分:4)

使用extract()

function do_something($parameters) {
    extract($parameters);

    // Do stuff; for example, echo one of the parameters
    if (isset($param1)) {
        echo "param1 = $param1";
    }
}

do_something(array('param1' => 'foo'));

答案 1 :(得分:3)

尝试$$key=$parameter

答案 2 :(得分:1)

只需使用extract从数组中提取变量:

  

将变量导入当前   数组符号表

extract($parameters);

现在您可以直接访问变量,例如$var,它们是数组中的键。

答案 3 :(得分:0)

extract功能。这就是你想要的。

$array = array('a'=>'dog', 'b'=>'cat');
extract($array);
echo $a; //'dog'
echo $b; //'cat'