接到一个小需求,需要利用php将一些数组类型的数据保存到TXT文件中去,尝试了两种方法,发现都非常的好用。现在分享一下。

php 保存数组到文件的方法

1、使用 serialize() 将数组保存为文件的方法

serialize():可以将php变量或值序列化可存储的文本格式。

php:对 serialize() 序列化的内容进行反向操作!

例1:serialize() 序列化数组并保存为文件

PHP代码:

$arr = array(
    'name' => 'mochu',
    'age'  => '18',
    'pagehome' => 'http://feiniaomy.com'
);
//序列化数组,并保存为文件!
@file_put_contents('data.txt',serialize($arr));

保存的“data.txt”文件中的内容

a:3:{s:4:"name";s:5:"mochu";s:3:"age";s:2:"18";s:8:"pagehome";s:20:"http://feiniaomy.com";}

例2:unserialize() 反序列化读取文件中的数组

php 代码:

$txt = @file_get_contents('data.txt');
var_dump(unserialize($txt));

打印结果:

array(3) {
  ["name"]=>
  string(5) "mochu"
  ["age"]=>
  string(2) "18"
  ["pagehome"]=>
  string(20) "http://feiniaomy.com"
}

2、使用 var_export 函数将数组写入一个php文件中去

var_export():函数以合法的php代码形式返回传递给该函数变量的结构信息,利用该特性可以将数组写入的php文件中去并调用!

例1:

$arr = array(
    'name' => 'mochu',
    'age'  => '18',
    'pagehome' => 'http://feiniaomy.com'
);
//组装文件内容
$text = '<?php $arr='.var_export($arr,true).';'; 
//写入一个php文件
@file_put_contents('data.php',$text);

写入的 'data.php' 文件的内容

<?php $arr=array (
  'name' => 'mochu',
  'age' => '18',
  'pagehome' => 'http://feiniaomy.com',
);

例2:调用这个文件  'data.php' 的方法

include 'data.php';
var_dump($arr);