本节将介绍php中 = 、== 、=== 这些符号的意思和使用方法。
当使用比较操作符(==)时,对象以一种很简单的规则比较:当两个对象有相同的属性和值,属于同一个类且被定义在相同的命名空间中,则两个对象相等。等于符号比较对象时,比较对象是否有相同的属性和值。
比如:
<?php class Bike() { public $color = "red"; } $myBike_1 = new Bike(); $myBike_2 = new Bike(); if($myBike_1 == $myBike_2) echo '$myBike_1和$myBike_2的颜色相同'; //都是red,所以显示这条 else echo '$myBike_1和$myBike_2的颜色不相同'; $myBike_2->color = "blue"; //改变第二个对象的颜色值 if($myBike_1 == $myBike_2) echo '$myBike_1和$myBike_2的颜色相同'; else echo '$myBike_1和$myBike_2的颜色不相同'; //其中的一辆变蓝色了所以显示这条 ?> |
由此可以得出:使用 == 符号比较两个对象 ,比较的仅仅是两个对象的内容是否一致。
现在我们来看看 (===),简单说这个是更严格意义上的等于,就是不光这个对象内容一样,而且应该是同一个对象(相同的内存地址)。依然是用上面的代码进行说明:
<?php class Bike() { public $color = "red"; } $myBike_1 = new Bike(); $myBike_2 = new Bike(); if($myBike_1 === $myBike_2) echo '$myBike_1和$myBike_2为同一对象'; else echo '$myBike_1和$myBike_2为不同对象'; //显示这条 $myBike_2->color = "blue"; //改变第二个对象的颜色值 if($myBike_1 === $myBike_2) echo '$myBike_1和$myBike_2为同一对象'; else echo '$myBike_1和$myBike_2为不同对象'; //还是显示这条 ?> |
最后是(=),这个比较简单,表示赋值,如果将对象赋予变量,是指变量将指向这个对象。