对象比较


对象比较

PHP5中的对象比较(object comparison)要比PHP4中复杂,也比其它一般的面向对象语言复杂。

当使用对比操作符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。

而如果使用全等操作符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。

通过下面的示例你可以理解以上原则。

Example #1 PHP 5的对象比较

<?php
function bool2str($bool)
{
    if (
$bool === false) {
        return 
'FALSE';
    } else {
        return 
'TRUE';
    }
}

function 
compareObjects(&$o1, &$o2)
{
    echo 
'o1 == o2 : ' bool2str($o1 == $o2) . " ";
    echo 
'o1 != o2 : ' bool2str($o1 != $o2) . " ";
    echo 
'o1 === o2 : ' bool2str($o1 === $o2) . " ";
    echo 
'o1 !== o2 : ' bool2str($o1 !== $o2) . " ";
}

class 
Flag
{
    public 
$flag;

    function 
Flag($flag true) {
        
$this->flag $flag;
    }
}

class 
OtherFlag
{
    public 
$flag;

    function 
OtherFlag($flag true) {
        
$this->flag $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q $o;
$r = new OtherFlag();

echo 
"Two instances of the same class ";
compareObjects($o$p);

echo 
" Two references to the same instance ";
compareObjects($o$q);

echo 
" Instances of two different classes ";
compareObjects($o$r);
?>

以上例程会输出:

Two instances of the same class
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Two references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instances of two different classes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Note:

PHP扩展中可以自行定义对象比较的原则。


«  对象复制
» 类型约束
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 上学的乐趣作文250字 做好个人时间管理的关键 小学生圣诞节日记500字 你的时间就是我的时间 阅览室宣传标语 如果我有一台时光机作文450字 小学一年级作文春天 当个小孩不容易作文500字 突然有一天 抓鸡三十六计作文500字 每天讲故事之卑梁之衅 一份好的爱,像是氧气… 回首过去展望未来作文 21世纪的初中生活_600字 先进性会议记录 中秋节温馨祝福语2016 小学四年级作文400字:第一次去外地春游 豁达点,坦然面对眼前困难 四年级夏天作文:夏夜遐想 是相濡以沫还是相忘于江湖 灰太狼你是天下最棒的狼 施蜇存《唐诗百话》之张志和 千年一望石夫人 经典爱情句子:放弃一个你很爱的人才是痛苦 税务工作科学发展观心得体会 深圳珠宝产业创新的思考 校园安全稳定工作总结 秋的人儿 用爱呵护绿色家园600字 马年聚会祝福 岁月静好,你亦安康 六月--忽而夏至 这件事真给力 心理委员培训活动心得体会 柳永词集_柳永经典诗词 三生不幸惹到你 珍珠,你奔跑在我心里作文1100字 司马迁报任安书读后感 爱情表白文章 珍惜今天读后感300字 开学典礼校长发言、稿 半夜孤独 小区里的绿草地作文300字 也说网上剽窃 圣诞节周边 求职信范文-护理专业2009届 关乎生死的日记 元旦节节日祝词 小学图书室工作计划 青山茶语

Copyright © 2016 phpStudy |