将数组值转换为变量

时间:2015-03-02 13:24:57

标签: php arrays variables

您好我正在尝试将数组的值转换为变量。

我有一个名为X的类,如下所示:

    class x{

        public static function getData(){
            $data = array(
                 "start" => '$id',
                 "end" => '$name'
            );
            return $data;
        }

}

getData函数返回数组:

  

数组(大小= 2)
  'start'=>字符串'$ id'(长度= 3)
  'end'=>串   '$ name'(长度= 5)

我在另一个课程中有如下功能:

$id=10;
$name = "kheshav";    
$data = x::getData();
var_dump($data);

我想要的是将数组中的$id$name值重新解析为相应的变量。 所以最终结果如下:

  

数组(大小= 2)
  'start'=> int 10
  'end'=>字符串'kheshav'   (长度= 7)

我尝试了以下代码,但没有希望:

foreach ($data as $key => $value) {
    $data[$key] = eval("\$value =\"$value\";");

}

2 个答案:

答案 0 :(得分:1)

这样做的传统方法是将数据传递给函数:

class x{

    public static function getData($id,$name){
        $data = array(
             "start" => $id,
             "end" => $name
        );
        return $data;
    }

}


$id=10;
$name = "kheshav";    
$data = x::getData($id,$name);

答案 1 :(得分:1)

您应该按如下方式参数化getData()函数:

    public static function getData($id, $name){
        $data = array(
             "start" => $id,
             "end" => $name
        );
        return $data;
    }

然后你可以这样称呼它:

$id=10;
$name = "kheshav";    
$data = x::getData($id, $name);