PHP将对象转换为字符串

cof*_*tor 2 php string object

我打算将返回的对象保存到文件中,以便以后下载进行审核.为了清楚起见,我正在使用外部API服务,并收集他们的数据,以便解析到另一个数据库.

这就是我所拥有的:

<?php
require('class.php');
$client = new connect2Them();
$logged_in = $client->login();
if(!$logged_in){
  echo "Not connected!"; die();
}

$records = $client->get_records();
if(count($records < 1){
  echo "No records found"; die();
}

$singlerecord = $records[0];
print_r($singlerecord);

?>
Run Code Online (Sandbox Code Playgroud)

print_r()工作正常,我收到了非常大量的数据.我正在通过命令行执行所有这些操作,因此我想将其保存到文本文件中.

我在$ singlerecord下面添加了这个:

<?php
$myFile = "reviewLater.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $singlerecord;
fwrite($fh, $stringData);
fclose($fh);

?>
Run Code Online (Sandbox Code Playgroud)

我从PHP得到这个错误: PHP警告:fwrite()期望参数2是字符串,对象在....

如何将print_r()放入reviewLater.txt?

Jer*_*ris 6

可以使用PHP的serialize()函数序列化对象并将其保存到文件中.unserialize()如果你愿意,以后你可以 再次使用它们.

$stringData = serialize($singlerecord);
Run Code Online (Sandbox Code Playgroud)

有趣的事实:这是将对象缓存到文件的一种方法.

参考:http://php.net/manual/en/function.serialize.php