当前位置: 首页 > 网络学院 > 服务端脚本教程 > PHP > PHP5面向对象 - 基础 - 对象的比较

PHP
PHP Libxml
PHP Math
PHP Misc
PHP MySQL
PHP SimpleXML
PHP String
PHP XML
PHP Zip
PHP Mail
用PHP5的DirectoryIterators递归扫描目录
PHP 阻止SQL注入式攻击
PHP5面向对象 - 基础 - 类和对象
PHP5面向对象 - 基础 - 类的属性( public )
PHP5面向对象 - 基础 - 类的属性( private )
PHP5面向对象 - 基础 - 方法
PHP5面向对象 - 基础 - 对象的比较
php5面向对象 - 基础 - 构造函数
php5面向对象 - 基础 - 析构函数
用PHP控制用户的浏览器 - ob*函数的使用
PHP PDO 学习笔记

PHP 中的 PHP5面向对象 - 基础 - 对象的比较


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-01   浏览: 892 ::
收藏到网摘: n/a

本节将介绍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为不同对象';  //还是显示这条
?>

最后是(=),这个比较简单,表示赋值,如果将对象赋予变量,是指变量将指向这个对象。

评论 (0) All

登陆 | 还没注册?