如何将数据传递到类方法的作用域中?

问题描述 投票:0回答:2

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

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

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

getData()
方法返回数组:

array (size=2)   
    'start' => string '$id' (length=3)
    'end' => string '$name' (length=5)

我在另一个班级的功能如下:

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

我想要的是将数组中的

$id
$name
值解析为对应的变量,最终结果如下:

array (size=2)   
    'start' => int 10   
    'end' => string 'kheshav' (length=7)

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

foreach ($data as $key => $value) {
    $data[$key] = eval("\$value =\"$value\";");
}
php arrays variables
2个回答
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
投票

您应该按如下方式参数化您的

getData()
函数:

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

然后你可以这样称呼它:

$id=10;
$name = "kheshav";    
$data = x::getData($id, $name);
© www.soinside.com 2019 - 2024. All rights reserved.