您好我正在尝试将数组的值转换为变量。
我有一个名为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\";");
}
答案 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);