如何将对象转换为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。