0

我有这样的 php 数组。

$config['sample'] = array( 'key1' => 'val1', 'key2' => 'val2' );

我希望 $config['sample'] 中的值像这样写入文本文件。

$newcfg['sample'] = array('key1' => 'val1', 'key2' => 'val2');

如何在写入文本文件之前从 php 数组值转换为文本字符串?

附言。1. 我不能使用序列化,因为当我写入文件时,它必须准备好在 php 中使用,与 $config['sample'] 值相同。

附言。2. 我也不能使用 json 编码/解码。与我不能使用序列化相同的原因。

使用var_export确实有效。感谢@fr4nk

4

4 回答 4

2

您正在寻找var_export. 它将变量导出为可执行的 PHP 代码。然后,您将其写入文本文件。

于 2013-05-19T09:03:57.003 回答
1

几个选项

$version1=print_r($config['sample'],1);
$version2=serialize($config['sample']);

如果您希望能够取回数组结构,则序列化会更好

于 2013-05-19T08:18:07.280 回答
0

内爆函数呢?

$mystring = implode(" ", $myarray);
于 2013-05-19T08:53:12.103 回答
0

您可以将数组编码为JSON,然后再将其写入文件,例如:

file_put_contents('myfile.json', json_encode( $myArray ));

然后将其解码回来:

$myArray = json_decode( file_get_contents('myfile.json') );

看:

http://php.net/manual/en/function.json-encode.php

http://php.net/manual/en/function.json-decode.php

于 2013-05-19T08:31:32.253 回答