数组元素变为变量

时间:2011-08-03 17:03:59

标签: php arrays variables

$data = array (                 
            'id'    => $_POST["id"],
            'name'  => $_POST["name"],
            'email' => $_POST["email"]
            );

是否有一个php函数可以将数组键转换为具有数组值的变量?例如,不是通过echo $data['name']回显值,而是使用echo $name

请不要使用foreach循环建议解决方案(如果可能)。

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

extract就是这样做的:(docs

 $size = "large";   
 $var_array = array("color" => "blue",
                       "size"  => "medium",
                       "shape" => "sphere");
 extract($var_array, EXTR_PREFIX_SAME, "wddx");

 echo "$color, $size, $shape, $wddx_size\n";

list也会以更受控制的方式(docs),但请注意您的源数组必须以数字方式编入索引 - 此处不允许关联数组:< / p>

    $info = array('coffee', 'brown', 'caffeine');

    // Listing all the variables
    list($drink, $color, $power) = $info;
    echo "$drink is $color and $power makes it special.\n";

答案 2 :(得分:1)

http://php.net/manual/fr/function.list.php

您可能正在寻找列表功能,因此您知道要处理的变量。

list($ var,$ var2)= $ _POST;

答案 3 :(得分:1)

在这种情况下,foreach循环实际上是一个非常紧凑的解决方案......

foreach ( $data as $key => $value ) { $$key = $value; }

虽然,简单地按键引用数组本身就相当整洁......

echo $data['id'];
相关问题