将数组值转换为变量


Convert array value to variable

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

我有一个名为 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(
'开始' => int 10
'end' => 字符串 'kheshav' (长度=7(

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

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

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

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);

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

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

然后你可以这样称呼它:

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