我不清楚如何使PHP类文件在Laravel上具有不同的输出?
但是当我使用'echo'语句时,它的结果是如下所示的字符串我不清楚如何使PHP类文件在Laravel上具有不同的输出?,php,laravel,oop,Php,Laravel,Oop,但是当我使用'echo'语句时,它的结果是如下所示的字符串 $taxonomies = $post->taxonomies()->get(); 但当我使用“print_r”语句时,它的结果如下所示 echo $taxonomies[0]; // {"term_taxonomy_id":317,"term_id":317,"taxonomy":"skill","description"
$taxonomies = $post->taxonomies()->get();
但当我使用“print_r”语句时,它的结果如下所示
echo $taxonomies[0];
// {"term_taxonomy_id":317,"term_id":317,"taxonomy":"skill","description":"","parent":0,"count":1,"pivot":{"object_id":4886,"term_taxonomy_id":317},"term":{"term_id":317,"name":"Consulting","slug":"consulting","term_group":0}}
我不清楚它是如何工作的?这种情况是
echo
将某个类的对象转换为字符串。作为一名开发人员,您可以使用
深入到代码中,您可以看到Corcel\Model\Taxonomy
扩展了类,而类又扩展了lluminate\Database\Eloquent\Model
。在这个类中有一个将对象转换为json的
至于
print\r
-此函数不将对象转换为任何其他类型,只输出可读的对象表示。一个是JSON表示法,另一个是内存中实例的转储
对不同的输出使用或
json\u enode()
。这是一个模型,当您尝试将其转换为字符串时,它会被序列化为json,文档中有一整节是关于序列化雄辩的模型的
print_r($taxonomies[0]);
Corcel\Model\Taxonomy Object
(
[table:protected] => term_taxonomy
[primaryKey:protected] => term_taxonomy_id
[with:protected] => Array
(
[0] => term
)
[timestamps] =>
[postType:protected] =>
[connection:protected] => wordpress
[keyType:protected] => int
[incrementing] => 1
[withCount:protected] => Array
(
)
[perPage:protected] => 15
[exists] => 1
....