2010-01-10 40 views
2

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

假设我有以下数组:

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

现在我想转储$人变量,以便转储字符串输出,如果解析,将是有效的PHP代码,重新定义了$人物变量。

所以做这样的事情:

dump_as_php($person); 

将输出:

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

为什么你需要这个?如果你打算在后面“评估”,我会说“忘记,用JSON来代替”。 – 2010-01-10 22:47:11

+0

我第二Anon的*为什么* ... O.o – 2010-01-10 22:48:19

+0

我从数据库中获取一些数据并将其转储到动态创建的php文件中,以便将来访问该数据。 – 2010-01-10 23:13:48

回答

6

var_export()

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

+0

谢谢,这正是我需要的。很简单。他们想到了与内置函数:) – 2010-01-10 22:56:10

+0

我从来没有听说过这个!奖励! – 2010-01-10 22:56:38

+0

也检查'print_r($ var)' – dusoft 2010-01-10 22:59:16

0

serializeunserialize

这是用于储存或传递PHP的值,而不会丢失其类型和结构是有用的。与var_export相比,这将处理循环引用以及在您要转储大型对象图的情况下。

虽然输出不会是PHP代码。