我在变量中保存了以下文本字符串 $path
$path
$path = "['parent']['son']";
$_SESSION['parent']['son']
我想我可以用这个 eval
eval
不需要评估。
$path = "['parent']['son']"; $arr = explode("']['", $path); $ret = $_SESSION; foreach($arr as $val){ $key = str_replace(["'", "]", "["], "", $val); $ret = $ret[$key]; } var_dump($ret);
见工作示例: https://3v4l.org/KgYOA
还要记住,除非你真的必须这样做,否则不推荐使用eval。 正如我上面所展示的,通常有一些方法可以用危险性较小的函数做同样的事情。