如何将对象转换为string在PHP中

可能重复:
PHP的ToString()等效

如何在PHP中将对象转换为string

其实我正在处理Web服务API。我想要使用一个API的输出作为另一个API的input。 当我试图做到这一点,我得到这样的错误:可捕获的致命错误:类std的对象无法转换为string在C:\ …

这是第一个API :: stdClass对象([document_number] => 10ba60)的输出,现在我只希望这个数字用作第二个AP的input

print_r和_string()都不适用于我的情况

你可以通过在你的类中实现一个__toString()方法来定制你的对象是如何被表示成一个string的,这样当你的对象被作为一个string强制转换时 (显式types转换$str = (string) $myObject; echo $myObject ),你可以控制包含什么和string格式。

如果你只想显示你的对象的数据,上面的方法将工作。 如果你想把你的对象存储在会话或数据库中,你需要序列化它,所以PHP知道如何重build你的实例。

一些代码来certificate不同之处:

 class MyObject { protected $name = 'JJ'; public function __toString() { return "My name is: {$this->name}\n"; } } $obj = new MyObject; echo $obj; echo serialize($obj); 

输出:

我的名字是:JJ

○:8: “为MyObject”:1:{S:7: “*名”; S:2: “JJ”;}

使用铸造操作符(string)$yourObject;

有一个对象序列化模块,用serialize函数可以序列化任何对象。

你有print_r函数DOC

在你的情况下,你应该简单地使用

 $firstapiOutput->document_number 

作为第二个API的input。