<?php$data = ['status' => 1, 'info' => 'data is ok!'];
$variable = '$data';
$variable = substr($variable, 1);
var_dump($variable);
echo '<br />';
$variableParam = 'status';
$return = $$variable;
var_dump($return);
echo '<br />';
$value = $return[$variableParam];
var_dump($value);
echo '<br />';
$variable = '$data["info"]';
$variable = substr($variable, 1);
var_dump($variable);
echo '<br />';
$value = ${$variable};
var_dump($value);
echo '<br />';
可变变量 可以获取到数组 但是不能直接获取到数组的元素 这个怎么办

解决方案 »

  1.   

    $data = ['status' => 1, 'info' => 'data is ok!'];$variable = 'data';
    echo ${$variable}['info'];
    $info = 'info';
    echo ${$variable}[$info];
      

  2.   


    这样操作和我最初的设计有冲突 我是把变量存到数据库中 读取之后通过可变变量赋值
    存的是 $data['info']
    如果按照你的思路的话 我要先把这个字符串拆分成data和info才行了
    不过估计也就只能这样操作了
      

  3.   

    $data = ['status' => 1, 'info' => 'data is ok!'];$result=array_keys($data);
    要获取哪个key就直接去哪吧
      

  4.   

    echo $r; //$data['info']
    echo eval("return $r;"); //data is ok!