PHP数组保存到文本文件

cof*_*tor 7 php arrays

我已经将外部服务器的响应保存到文本文件中,因此我不需要继续运行连接请求.相反,也许我可以使用文本文件进行操作,直到我再次阅读重新连接.(另外,我的连接请求仅限于此外部服务器)

这是我保存到文本文件中的内容:

records.txt

Array
(
    [0] => stdClass Object
        (
            [id] => 552
            [date_created] => 2012-02-23 10:30:56
            [date_modified] => 2012-03-09 18:55:26
            [date_deleted] => 2012-03-09 18:55:26
            [first_name] => Test
            [middle_name] => 
            [last_name] => Test
            [home_phone] => (123) 123-1234
            [email] => someemail@somedomain.com
        )
     [1] => stdClass Object
        (
            [id] => 553
            [date_created] => 2012-02-23 10:30:56
            [date_modified] => 2012-03-09 18:55:26
            [date_deleted] => 2012-03-09 18:55:26
            [first_name] => Test
            [middle_name] => 
            [last_name] => Test
            [home_phone] => (325) 558-1234
            [email] => someemail@somedomain.com
        )
)
Run Code Online (Sandbox Code Playgroud)

在阵列中实际上有更多,但我确定2是好的.

由于这是一个文本文件,我想假装这是实际的外部服务器(向我发送相同的信息),如何让它再次成为一个真正的数组?

我知道我需要先打开文件:

<?php
$fp = fopen('records.txt', "r"); // open the file
$theData = fread($fh, filesize('records.txt'));
fclose($fh);
echo $theData;  
?>
Run Code Online (Sandbox Code Playgroud)

到目前为止$theData是一个字符串值.有没有办法将它转换回它最初的阵列?

raj*_*ndy 24

更好地序列化并保存到文件,然后反序列化回到数组.

// serialize your input array (say $array)
$serializedData = serialize($array);

// save serialized data in a text file
file_put_contents('your_file_name.txt', $serializedData);

// at a later point, you can convert it back to array like:
$recoveredData = file_get_contents('your_file_name.txt');

// unserializing to get actual array
$recoveredArray = unserialize($recoveredData);

// you can print your array like
print_r($recoveredArray);
Run Code Online (Sandbox Code Playgroud)