加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

在 PHP 中实现对象比较方法的步骤是什么

发布时间:2023-11-24 11:11:24 所属栏目:语言 来源:
导读:在这篇文章中我们来了解一下“PHP中如何实现对象比较,方法是什么”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往

在这篇文章中我们来了解一下“PHP中如何实现对象比较,方法是什么”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!

PHP 5 中的对象比较要比 PHP 4 中复杂,所期望的结果更符合一个面向对象语言。

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

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

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

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) . "\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);

echo "\nTwo references to the same instance\n";

compareObjects($o, $q);

echo "\nInstances of two different classes\n";

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中如何实现对象比较,方法是什么的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章