浅析php中三个等号(===)和两个等号(==)的区别_php技巧

先举个列子:
比如你一个函数会返回这几种情况:
1、大于0的数
2、小于0的数
3、等于0的数(也就是0啦)
4、False(失败时)
这时候如果你想捕获失败的情况,你就必须用===,而不能用==
因为==除了会匹配第4种情况外,还会匹配第3种情况,因为0也是假!

三个等号代表比较对象的类型也要一致。两个等号表示只要值相等就满足条件。

再来补充一些:
$a='2';//字符型2
$b=2;//数值型2
$a==$b,是对的,都是2
$a===$b,是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样。
还有就是“linvo1986 - 六级”说的那种“0”了。

时间: 2024-11-10 14:00:48

浅析php中三个等号(===)和两个等号(==)的区别_php技巧的相关文章

JS类中定义原型方法的两种实现的区别_javascript技巧

我们知道给JavaScript类添加原形(prototype)方法是很简单的.而且常用的有下面这两种方法可是这两种方法在使用时有区别吗     JScript Class:  function JSClass()  {  }     Extends prototype method:  JSClass.prototype.MethodA = function()  {  };     Or  function = JSClass.prototype.MethodA()  {  }; 其实这两个原

php下用GD生成生成缩略图的两个选择和区别_php技巧

PHP的GD扩展提供了两个函数来缩放图像: ImageCopyResized(dest, src, dx, dy, sx, sy, dw, dh, sw, sh);ImageCopyResampled(dest, src, dx, dy, sx, sy, dw, dh, sw, sh); ImageCopyResized( )函数在所有GD版本中有效,但其缩放图像的算法比较粗糙,可能会导致图像边缘的锯齿.GD 2.x中新增了一个ImageCopyResampled( )函数,其像素插值算法得到的

JavaScript中三个等号和两个等号的区别(== 和 ===)浅析_javascript技巧

== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ==,不做类型转换,类型不同的一定不等. 下面分别说明: 先说 ===,这个比较简单.下面的规则用来判断两个值是否===相等: 1.如果类型不同,就[不相等] 2.如果两个都是数值,并且是同一个值,那么[相等]:(!例外)的是,如果其中至少一个是NaN,那么[不相等].(判断一个值是否是NaN,只能用isNaN()来判断) 3.如果两个都是字符串,每个位置的字符都一样,那么[

ASP.NET中DropDownList和ListBox实现两级联动功能_实用技巧

DropDownList和ListBox实现两级联动功能,它们可以将从后台数据库中搜选的出来的信息加以绑定,这里要实现的功能是在DropDownList中选择"省",然后让ListBox自动将其省份下的"市"显示出来,这就是所谓的两级联动功能,这个功能我们在很多注册网页上看见,今天就为大家解开ASP.NET神秘的面纱.一.设置前台界面,在Web窗体中添加DropDownList和ListBox两个控件. 界面图如下所示.     二.编写后台代码在这,后台代码编写在

浅析php静态方法与非静态方法的用法区别_php技巧

在php编程中,static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法" 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性

深入理解JavaScript中的call、apply、bind方法的区别_javascript技巧

在JavaScript 中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply 和bind这三个方法,来改变函数体内部 this 的指向,因为函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念 apply.call apply:应用某一对象的一个方法,用另一个对象替换当前对象 call:调用一个对象的一个方法,以另一个对象替换当前对象 function pers

ajax中get和post的说明及使用与区别_javascript技巧

以前没怎么仔细的研究过ajax,只是用到了就直接拿过来用,发现了问题再找解决方法.以下是我在找解决问题的过程中的一点小小的总结. 一.谈Ajax的Get和Post的区别 Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面.另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号

分享下php5类中三种数据类型的区别_php技巧

public: 公有类型 在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型在子类中可以通过self::var 来调用 protected类型的方法或属性 可以通过parent::method 来调用父类中的方法 在实例中不能通过$obj->var 来调用 protected类型的方法或属性 private:

浅析php中抽象类和接口的概念以及区别_php技巧

复制代码 代码如下: //抽象类的定义:abstract class ku{  //定义一个抽象类  abstract function kx();  ......}function aa extends ku{  //实现抽象类的方法  function kx(){    echo 'sdsf';  }}//使用方法$aa=new aa;$aa->kx();//1.定义一些方法,子类必须完全实现这个抽象中所有的方法//2.不能从抽象类创建对象,它的意义在于被扩展//3.抽象类通常具有抽象方法,