作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Possible Duplicate:
PHP ToString() equivalent
如何在php中将对象转换为字符串
实际上我正在处理 Web 服务 API。我想使用一个 API 的输出作为另一个 API 的输入。当我尝试这样做时,我得到了这样的错误:Catchable fatal error: Object of class std could not be convert to string in C:\...
这是第一个 API::stdClass 对象 ( [document_number] => 10ba60 ) 的输出,现在我只想将该数字用作第二个 AP 的输入
print_r 和 _string() 在我的情况下都不起作用
最佳答案
您可以通过在您的类中实现 __toString()
方法来定制您的对象如何表示为字符串,这样当您的对象为 type cast as a string 时(显式类型转换 $str = (string) $myObject;
或自动 echo $myObject
)您可以控制包含的内容和字符串格式。
如果你只想显示你的对象的数据,上面的方法可以工作。如果要将对象存储在 session 或数据库中,则需要 serialize它,所以 PHP 知道如何重建你的实例。
一些代码来演示差异:
class MyObject {
protected $name = 'JJ';
public function __toString() {
return "My name is: {$this->name}\n";
}
}
$obj = new MyObject;
echo $obj;
echo serialize($obj);
输出:
My name is: JJ
O:8:"MyObject":1:{s:7:"*name";s:2:"JJ";}
关于php - 如何在php中将对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469222/
我是一名优秀的程序员,十分优秀!