PHP转储变量作为PHP代码

PHP转储变量作为PHP代码,php,Php,我正在寻找一个函数来转储多维数组,以便输出是有效的php代码 假设我有以下数组: $person = array(); $person['first'] = 'Joe'; $person['last'] = 'Smith'; $person['siblings'] = array('Jane' => 'sister', 'Dan' => 'brother', 'Paul' => 'brother'); 现在我想转储$person变量,以便转储字符串输出(如果经过解析)将是重新

我正在寻找一个函数来转储多维数组,以便输出是有效的php代码

假设我有以下数组:

$person = array();
$person['first'] = 'Joe';
$person['last'] = 'Smith';
$person['siblings'] = array('Jane' => 'sister', 'Dan' => 'brother', 'Paul' => 'brother');
现在我想转储$person变量,以便转储字符串输出(如果经过解析)将是重新定义$person变量的有效php代码

所以做一些类似于:

dump_as_php($person);
将输出:

$person = array(
    'first'    => 'Joe',
    'last'     => 'Smith',
    'siblings' => array(
        'Jane' => 'sister',
        'Dan'  => 'brother',
        'Paul' => 'brother'
    )
);

这对于在不丢失PHP值的类型和结构的情况下存储或传递PHP值非常有用。与
var\u export
不同,如果您想转储大型对象图形,这将处理循环引用

但输出将不是PHP代码。

var_export()将结构化 关于给定变量的信息。 它与var_dump()类似,只有一个 异常:返回的表示 是有效的PHP代码


你为什么需要这个?如果您打算以后对其进行
eval
ing,我会说“忘记这一点,改用JSON”。我正在从数据库中获取一些数据,并将其转储到动态创建的php文件中,以便将来更快地访问这些数据。这不是缓存的目的吗?看看谢谢,这正是我需要的。这么简单。他们想到了所有内置函数:)我以前从没听说过这个!荣誉