将数组写入 PHP 文件

将数组写入 PHP 文件

//将一个测试的数组写入一个PHP文件:

<?php //要写入PHP文件的数组$write_array = array( '1' => 'oneone', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five' ); //字符串处理$string_start = "<?php\n";$string_process = var_export($write_array, TRUE);$string_end = "\n?>";$string = $string_start.$string_process.$string_end; //开始写入文件echo file_put_contents('test_array.php', $string); ?>

这里用到了两个函数:

1,var_export():
·var_export — 用来输出或返回一个变量的字符串表示,它和 var_dump() 的区别是,var_export() 可以用来返回关于传递给该函数的变量的结构信息,并且其返回的表示是合法的 PHP 代码如果 “echo $string_process;”,则可以看到输出结果:

array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five',)

而它就是我们要写入 test_array.php 文件的内容(除去 php 标签);

·var_dump() 函数用来打印变量的相关信息,它只用来“打印”,而不会返回值,它的原型是 void var_dump(……),我们来 “var_dump($string_process);”,则可以看到输出结果:

string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five',)"

可以看到输出的string(86) “…”,再一次说明了 var_export() 返回的是一个字符串。

2,file_put_contents():
file_put_contents — 将一个字符串写入文件,原型是 int file_put_contents ( string filename, string data [, int flags [, resource context]] ),这里我们只用到了两个参数,”string filename”:要写入的文件名;”string data”:字符串数据;
此函数返回写入到文件内数据的字节数,如果我们 “echo file_put_contents(’test_array.php’, $string);”,则会输出一个整数 :95。

因为输出的 array() 占了 86 个字节,还有的 $string_start 和 $string_end 又占了 9 个字节,转义字符 换行符 在这里只占 1 个字节。(不知道这样解释恰当不恰当,还有望大家多多指正)

 
posted @ 2012-12-14 15:31  joy696163  阅读(397)  评论(0编辑  收藏  举报