我使用var_export($var,true);
导出了一个数组,并将其存储到文件arraystore.php
当我在另一个页面上包含arraystore.php并尝试使用该数组时,它不起作用?应该是,还是有办法导入var以便在新页面中使用?也许序列化和发送作为第二页上使用的类的构造函数?那会有用吗?
答案 0 :(得分:0)
该数组现在是文本文件中的字符串。要导入:
$str=file_get_contents('arraystore.php');
$var=eval('return '.$str.';')
答案 1 :(得分:0)
你能告诉我们你的arraystore.php吗?
arraystore.php必须与此类似:
<?php
$array = array(
1 => "I'm a String",
'stringKey' => true,
'foo' => "bar"
);
?>
我很确定,你忘记了php-Tags。
答案 2 :(得分:0)
您可以使用eval执行此操作:
$arrayString = file_get_contents('arraystore.php');
$array = eval('return ' . $arrayString . ';');
但是,由于eval是邪恶的,您可能希望将以下内容写入您的文件而不是简单的var_export()输出:
<?php
return your_var_export_output_here;
?>
然后您将能够使用以下代码加载数组:
$array = include 'arrayStore.php';
另一种选择是将数组分配给arrayStore.php中的变量,然后在包含/要求arrayStore.php之后简单地使用此变量
答案 3 :(得分:0)
var_export()
并非旨在成为数据交换格式。这是一个调试声明。如果您希望将来保存一些对象,请将其序列化。它也可以正确处理字符编码。
$serialized_store = serialize($var);
fwrite($fp, $serialized_store);
你可以轻松地阅读它:
$serialized_store = file_get_contents('arraystore.php');
$var = unserialize($serialized_store);
此方法可避免使用eval()
。 It is almost evil
但是,您可以使用JSON作为商店格式。
$json_store = json_encode($var);
fwrite($fp, $json_store);
// ...
$json_store = file_get_contents('arraystore.json');
$var = json_decode($json_store);