对象比较 ===三个等于号

可能这是我博客里面最短的博文了。
有关===三个等于号的用法=。=。。

我在这个分类里只是记录一下php中少见的东西,或者说是php中书上不是太过详细介绍的东西。

那么我在这里直接引用php手册里面的内容吧,很简单:当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。

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

继续引用手册的演示:
(这篇博文写的实在没有什么个人含量了。。。)
由于手册写的很详细,所以我也不再画蛇添足了,毕竟内容就是这一点而已。。。

通过下面的示例可以理解以上原则。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 : TRUETwo references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSEInstances of two different classes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php判断秒为两位数,判“新”函数:得到今天与明天的秒数

判“新”函数&#xff1a;得到今天与明天的秒数更新时间&#xff1a;2006年10月09日 00:00:00 作者&#xff1a;如果你想根据时间来判断某一时间值(用秒数表示)是否在今天的范围之内。下面这个函数&#xff0c;将帮你轻而易举的判断。函数源代码&#xff1a;----------------…

如何查看文件夹里有几张图片_如何把几张图片合成一个pdf?图片合并为pdf的操作教程...

我在一家公司当美工&#xff0c;平时要接触到很多图片素材&#xff0c;并把它们以pdf格式文件的形式发送给客户查看(以此来摸索出客户想要的图片效果)。把几张图片合并成为一个pdf文件&#xff0c;即是将图片格式转换成为pdf格式&#xff0c;这对我来说不难操作。毕竟是公司的老…

HDU - 4734 F(x) (2013成都网络游戏,数字DP)

意甲冠军&#xff1a;求0-B见面<F[A]所有可能的 思维&#xff1a;数字DP&#xff0c;内存搜索 #include <iostream> #include <cstring> #include <algorithm> #include <cstdio> using namespace std;int A, B; int dp[20][200000]; int bit[20];i…

Dapr 能否取代 Spring Cloud?

Dapr 和 Spring Cloud 的区别很多人都是使用 Spring Boot 和 Spring Cloud 来开发微服务。Dapr 也是开发微服务的框架&#xff0c;它和 Spring Cloud 有什么区别呢&#xff0c;其实这不是一个区别的问题&#xff0c;它是不同的时代需要不同的框架。Spring Cloud 是一种产品&…

Start vm by command line

为什么80%的码农都做不了架构师&#xff1f;>>> VBoxHeadless -startvm "dcsvr08" 转载于:https://my.oschina.net/kut/blog/1501095

用dataGridView实现增删改查

只需一个窗体一个dataGridView控件,即可实现系统中所有基础数据的维护操作,真是太简单实用了,还不快Get了? 1、公共类User.cs: public abstract class DBUser {public static string sServer;public static string sDBName;public static string sUser;public static str…

php之生成器

引用手册&#xff1a;一个生成器函数看起来像一个普通的函数&#xff0c;不同的是普通函数返回一个值&#xff0c;而一个生成器可以yield生成许多它所需要的值。当一个生成器被调用的时候&#xff0c;它返回一个可以被遍历的对象.当你遍历这个对象的时候(例如通过一个foreach循…

使用JDBC进行数据库的事务操作(2)

本篇将讲诉如何使用JDBC进行数据库有关事务的操作。在上一篇博客中已经介绍了事务的概念&#xff0c;和在MySQL命令行窗口进行开启事务&#xff0c;提交事务以及回滚事务的操作。 似乎事务和批处理都可以一次同时执行多条SQL命令&#xff0c;但是事务是如果某一条SQL出错&#…

谷歌浏览器之如何快速找到js、css等文件

1 问题 我们分析前端代码的时候&#xff0c;需要快速定位某个js文件&#xff0c;然后查看里面的源代码 2 具体操作 比如我在www.baidu.com这个页面&#xff0c;我们先按下F12, 然后点击到network,然后我们再用快捷键 ctrl p 比如我们要找tu_d03f361.js 效果如下&#x…

ASP.NET Session的七点认识(转)

ASP.NET Session的使用当中我们会遇到很多的问题&#xff0c;那么这里我们来谈下经常出现的一些常用ASP.NET Session的理解&#xff1a; ASP.NET Session的七点认识之一对于值类型的变量&#xff0c;Session中保存的是值类型的拷贝 Session["__test0"] 1; inti (int)…

php 读取三级分类,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?汗血宝马...

array (size16)0 >array (size7)0 > float 11 > string 销售部 (length9)2 > string 销售1区 (length10)3 > string 销售1科室 (length13)4 > null5 > null6 > null1 >array (size7)0 > float 21 > null2 > null3 > string 销售2科室 (…

ABP会臃肿吗?

有了ABP&#xff0c;还要学其他的框架&#xff1f;我有时候在想在JAVA领域&#xff0c;Spring基本一统天下&#xff0c;新手也好&#xff0c;高手也罢都在学习、研究和项目实战。也就是说其实对与应用开发&#xff0c;Spring已经是绕不开的框架&#xff0c;不管是单体还是微服务…

python如何正则匹配浮点值_Python正则表达式字符串数组到浮点数组

我是python正则表达式的初学者.我达到了我所需要的,但是由于缺少经验,这真的很丑.我的目标是转换以下形式的字符串数组&#xff1a;notes ["10.0% higher", "5.0% lower", "Same as", "21.2% lower"]到一个float数组,这样上面的数组将…

php stripslashes 去除反斜线

stripslashes可以去除反斜线&#xff0c;准确的说是去掉一个反斜线&#xff0c;因为如果是两个反斜线的话stripslashes会把两个反斜线替换成一个&#xff1a; 引用php手册的例子&#xff1a; <?php $str "Is your name O\reilly?";// 输出: Is your name Ore…

HTML5 播放器

随着 HTML5 的普及&#xff0c;越来越多视频网站使用 <video></video> 标签播放直播、点播内容&#xff08;如下图所示&#xff09;。使用 <video> 的好处&#xff0c;主要以下两点。 可以直接在页面中播放&#xff0c;也就是所谓的“区域播放”&#xff0c;…

linux shell之控制台打印各种颜色字体和背景

1 问题 控制台打印各种颜色字体和背景 字体颜色 #30:黑 #31:红 #32:绿 #33:黄 #34:蓝色 #35:紫色 #36:深绿 #37:白色 背景颜色 #40:黑 #41:深红 #42:绿 #43:黄色 #44:蓝色 #45:紫色 #46:深绿 #47:白色 echo -e "\e[43;35m chenyu\e[0m hello word&quo…

修改GIT的user.name和user.email

为什么80%的码农都做不了架构师&#xff1f;>>> $ git config --global --replace-all user.email "输入你的邮箱" $ git config --global --replace-all user.name "输入你的用户名" ----验证是否修改成功---- $ git config --list 转载…

python包实际怎么使用_Python--模块与包

模块1、什么是模块&#xff1f;一个模块就是一个Python文件&#xff0c;文件名就是模块名字加上.py后缀。因此模块名称也必须符合变量名的命名规范。1 使用python编写的代码(.py文件)2 已被编译为共享库或DLL的C或C扩展3 包好一组模块的包4 使用C编写并链接到python解释器的内置…

php获取虚拟机ip,php如何获取用户的ip地址

直接上代码/*** 获取客户端IP地址*/function real_ip(){$ip $_SERVER[REMOTE_ADDR];if (isset($_SERVER[HTTP_X_FORWARDED_FOR]) && preg_match_all(#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s,$_SERVER[HTTP_X_FORWARDED_FOR], $matches)) {foreach ($matches[0] AS $xi…

sql distinct 去重复 (mysql)

DISTINCT 去重复 &#xff08;运动扭伤腰。。。悲伤。。。 (▼ _ ▼) &#xff09; 首先&#xff0c;例如我们的表&#xff1a; 首先观察表&#xff1a; 其中第二行和第三行和第八行的name1的只是重复的&#xff0c;但第八行的age1确是12&#xff0c;与第二行和第三行不同…