这篇文章主要介绍了关于对象转换成JSON字符串,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
定义一个Student类:
1 class Student {2 public $name;3 public $age;4 function __construct($name, $age) {5 $this->name = $name;6 $this->age = $age;7 }8 }
此时new一个对象并直接echo: 1 $person1 = new Student('jack', 20); 2 echo $person1;
结果并没有按照我们预想的那样打印出该对象而是报了一个致命错误:
意为Student类实例化出来的对象不能转化成字符串,此处可以得到一个信息即:echo 后面必须是字符串,
否则会将其自动转化为字符串,那么如何讲一个对象转换为一个字符串呢?
先介绍一个魔术方法:__tostring(),这个方法用于一个类被当成字符串时应怎样回应。例如 echo $obj;
应该显示些什么。此方法必须返回一个字符串,否则将发出一条 E_RECOVERABLE_ERROR
级别的致命错误。
将这个魔术方法添加到Student类中:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 function __tostring() { 9 return json_encode($this, JSON_FORCE_OB<i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>JECT); 10 } 11 }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请随时关注我们网站!
相关推荐:
php redis服务编译安装的方法
php源码建库建表-配置文件-错误日志的方法
以上就是对象转换成JSON字符串的详细内容,更多请关注搞代码gaodaima其它相关文章!