可能重复:
PHP ToString()等效
如何在php中将对象转换为字符串
实际上我正在处理Web服务API.我想使用一个API的输出作为另一个API的输入.当我试图这样做时,我得到这样的错误:可捕获的致命错误:类std的对象无法转换为C:\中的字符串...
这是第一个API :: stdClass对象([document_number] => 10ba60)的输出,现在我只想将该数字用作第二个AP的输入
print_r和_string()在我的情况下都不起作用
Gre*_*g K 75
您可以通过__toString()在类中实现一个方法来定制对象如何表示为字符串,这样当您的对象被类型转换为字符串(显式类型转换$str = (string) $myObject;或自动echo $myObject)时,您可以控制包含的内容和字符串格式.
如果您只想显示对象的数据,则上述方法可行.如果要将对象存储在会话或数据库中,则需要对其进行序列化,以便PHP知道如何重构实例.
一些代码来证明差异:
class MyObject {
protected $name = 'JJ';
public function __toString() {
return "My name is: {$this->name}\n";
}
}
$obj = new MyObject;
echo $obj;
echo serialize($obj);
Run Code Online (Sandbox Code Playgroud)
输出:
我的名字是:JJ
○:8: "为MyObject":1:{S:7: "*名"; S:2: "JJ";}
Web*_*euw 31
使用铸造操作员 (string)$yourObject;
在你的情况下,你应该简单地使用
$firstapiOutput->document_number
Run Code Online (Sandbox Code Playgroud)
作为第二个api的输入.