为什么包含对象引用的变量可以';在PHP中不能得到响应?为什么在var_dump()之后对象和引用的输出相同?

为什么包含对象引用的变量可以';在PHP中不能得到响应?为什么在var_dump()之后对象和引用的输出相同?,php,class,oop,object,var-dump,Php,Class,Oop,Object,Var Dump,我在一个名为“prog_1.php”的文件中编写了以下代码片段: 对于此代码行,我得到以下错误: **Catchable fatal error:** Object of class SimpleClass could not be converted to string in /var/www/practice/prog_1.php on line 23 我不明白我是否可以var\u dump()类的对象,那么为什么我不能回显相同的对象呢 我的第二个疑问是,是否执行以下两个语句: var_d

我在一个名为“prog_1.php”的文件中编写了以下代码片段:

对于此代码行,我得到以下错误:

**Catchable fatal error:** Object of class SimpleClass could not be converted to string in /var/www/practice/prog_1.php on line 23
我不明白我是否可以
var\u dump()
类的对象,那么为什么我不能回显相同的对象呢

我的第二个疑问是,是否执行以下两个语句:

var_dump($instance);
var_dump($reference);
这两个语句的输出相同,如下所示:

object(SimpleClass)#1 (1) {
  ["var"]=>
  string(15) "a default value"
}
为什么会这样?对象和引用之间没有区别吗?在上述输出中,这是什么意思

希望有人能用一种简单易懂的语言为我提供令人满意的最佳答案,从而消除我的上述疑虑


提前感谢。

要回显对象或数组,必须使用print\r($var);对象或数组不是字符串,echo仅输出字符串整数..etc

要获得对象的字符串表示形式,请在对象中实现magic _utoString()方法。这用于序列化字符串表示的对象。(您可以使用它将(私有)成员作为字符串返回,并使您的类“可回显”

为什么我不能回显相同的内容?->请查看并解释您的引用问题。通过引用应被视为使用不同变量到同一源变量的链接。“对象和引用之间没有任何区别吗?”引用不是数据类型,它是一种通过引用传递变量的方法,而不是复制变量。此外,对象还可以与字符串和数组一起使用。
var_dump($instance);
var_dump($reference);
object(SimpleClass)#1 (1) {
  ["var"]=>
  string(15) "a default value"
}