您好,我正在尝试将数组的值转换为变量。
我有一个名为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\";");
}
执行此操作的传统方法是将数据传递到函数中:
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);