moon

ywc : hello world

【php手册:类与对象】对象比较

面向对象语言的对象比较原则:

(==) :如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。

(===):这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。

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

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

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\n";
compareObjects($o, $p); //类同对象不同 (==true,===false)

echo "\nTwo references to the same instance\n";
compareObjects($o, $q); //类同对象同(==true,===true)

echo "\nInstances of two different classes\n";
compareObjects($o, $r); //类不同对象不同(==false,===false)
?>
阅读更多
版权声明:本文为ywcmoon原创文章,未经允许不得转载。 https://blog.csdn.net/qq_39251267/article/details/79961563
个人分类: php手册
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

【php手册:类与对象】对象比较

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭