输出如下所示在output.txt文件中恢复:
array (
'IMType' => '1',
'Email' => 'test@gmail.com',
'SignupName' => 'test11',
'Password' => '11111',
'Encrypted' => '',
'Confirm' => '11111',
'OldPassword' => '',
'Name' => 'test',
'SignupProvinceText' => 'province',
'SignupCity' => 'cityname',
'Street' => 'street x.y',
'SignupIndustry' => 'IT',
'SignupCompany' => 'jobirn',
'SignupJt' => 'engineer',
'CellPhoneNum' => '',
'linked_in' => '',
)
它实际上是var_export(my_variable,true)
的输出,但是如何再次将其读入变量?
答案 0 :(得分:18)
也许你想序列化对象然后反序列化? http://php.net/serialize
答案 1 :(得分:16)
$dumpStr = var_export($var,true);
eval('$somevar = ' . $dumpStr.';');
答案 2 :(得分:2)
此技术适用于数据缓存。
< ?php
// reading data from DB or an API webservice etc.
$arrName = array();
$arrName = call_procedure_here();
$strFileContent = "<"."?php".PHP_EOL."$"."arrName = ".var_export($arrName, true).PHP_EOL."?".">";
file_put_contents('cache_folder/arrayfilename.php', $strFileContent);
...
//later... from another process;
include 'cache_folder/arrayfilename.php';
?>
答案 3 :(得分:0)
我写了一个基本的var_export
解析器,没有eval:VarExportParser.php
用法:
require_once('VarExportParser.php');
$parsed = VarExportParser::parse("array ('IMType' => '1', 'Email' => 'test@gmail.com')");
print(json_encode($parsed).PHP_EOL);
输出:
{"IMType":"1","Email":"test@gmail.com"}
您可以在此处尝试js版本:text_transform.html(从var_export到json 按钮)
答案 4 :(得分:-1)
非常简单,您必须将其另存为php文件而不是txt,然后
仅将其包含在变量中:)
像这样:
file_put_contents( '/some/file/data.php', '<?php return '.var_export( $data_array, true ).";\n" );
当您需要访问它时,只需执行以下操作:
$data = include '/some/file/data.php'