程序员人生 网站导航

php中===和==的区别分析

栏目:php教程时间:2014-05-23 11:47:11

恒等计算符,和比较运算符号“==”的区别是 “==”不会检查条件式的表达式的类型,恒等计算符会同时检查表达式的值与类型.

这主要和php是无类型语言有关,比如 NULL,FALSE,array(),”",0,”0″这几个值如果用==他们是相等的,但是你如果判断出某个值真正的返回值呢,就可以用 ===

$a = 0;

$b = FALSE;

$a === FALSE 不成立,但 $b === FALSE成立,如果是==, $a == FALSE 和 $b == FALSE都成立

===运算符还是很有用的,php有些内置函数成功会返回某个值,失败会返回false,假如成功了但返回的是”"或者0之类的空值你怎么判断成功或者失败呢?这是就可以用 === ,它可以区分变量类型.

比较运算符

$a == $b 等于 TRUE,如果 $a 等于 $b.

$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同.(PHP 4 引进)

$a != $b 不等 TRUE,如果 $a 不等于 $b.

$a <> $b 不等 TRUE,如果 $a 不等于 $b.

$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同.(PHP 4 引进)

$a < $b 小与 TRUE,如果 $a 严格小于 $b.

$a > $b 大于 TRUE,如果 $a 严格 $b.

$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b.

$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b.

如果比较一个整数和字符串,则字符串会被转换为整数.如果比较两个数字字符串,则作为整数比较.此规则也适用于 switch语句.

实例代码如下:

  1. <?php 
  2. var_dump(0 == "a"); // 0 == 0 -> true 
  3. var_dump("1" == "01"); // 1 == 1 -> true 
  4. var_dump("1" == "1e0"); // 1 == 1 -> true 
  5. switch ("a") { 
  6. case 0: 
  7.     echo "0"
  8.     break
  9. case "a"// never reached because "a" is already matched with 0 
  10.     echo "a"
  11.     break
  12. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐