名站导航为爱好php程序的朋友们提供php相关的教程知识。
在PhP程序中有 = 赋值符号、== 等于符号 和 === 全等于符号, 这些符号代表什么意思?
当使用比较操作符(==)时,对象以一种很简单的规则比较:当两个对象有相同的属性和值,属于同一个类且被定义在相同的命名空间中,则两个对象相等。等于符号比较对象时,比较对象是否有相同的属性和值。
注意:== 比较两个不同的对象的时候,可能相等也可能不等。
<? // 1-7.php class Person{ public $name = "NickName"; } //分别创建两个对象 $p = new Person(); $p1 = new Person(); //比较对象 if($p == $p1) { echo '$p 和 $p1 内容一致。'; } else { echo '$p 和 $p1 内容不一致。'; } echo '<br>'; $p->name = 'Gonn'; if($p == $p1) { echo '$p 和 $p1 内容一致。'; } else { echo '$p 和 $p1 内容不一致。'; } ?>
程序运行结果为:
$p 和 $p1 内容一致。 $p 和 $p1 内容不一致。
使用 == 符号比较两个对象 ,比较的仅仅是两个对象的内容是否一致。
当使用全等符(===)时,当且仅当两个对象指向相同类(在某一特定的命名空间中)的同一个对象时才相等。
是否在是同一个对象,两边指向的对象是否有同样的内存地址。
<? // 1-8.php class Person{ public $name = "NickName"; } //分别创建两个对象 $p = new Person(); $p1 = new Person(); //比较对象 if($p === $p1) { echo '$p 和 $p1 是一个对象'; } else { echo '$p 和 $p1 不是一个对象'; } echo '<br>'; $p->name = 'Tom'; if($p === $p1) { echo '$p 和 $p1 是一个对象'; } else { echo '$p 和 $p1 不是一个对象'; } ?>
程序运行结果为:
$p 和 $p1 不是一个对象 $p 和 $p1 不是一个对象
结果 === 比较的是两个变量是否一个对象。
一个等于符号(=)表示赋值,是赋值计算。
如果将对象赋予变量,是指变量将指向这个对象。
<? // 1-9.php class Person{ } $p = new Person(); $p1 = new Person(); $p2 = $p1; // 变量$p2 指向$p1指向的对象. if($p2 === $p1) { echo '$p2 和 $p1 指向一个对象。'; } else { echo '$p2 和 $p1 不指向一个对象。'; } echo ' '; $p = $p1; // 变量$p 指向$p1指向的对象. if($p === $p1) { echo '$p 和 $p1 指向一个对象。'; } else { echo '$p2和 $p1 不指向一个对象。'; } ?>
程序运行结果为:
$p2 和 $p1 指向一个对象。 $p 和 $p1 指向一个对象。
好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,PhP程序面向对象之旅:构造函数
构造函数和其它函数一样,可以传递参数,可以设定参数默认值。