当前位置:首页 > PHP教程 > php应用 > 列表

聊聊PHP中的 === 运算符为什么比 == 快

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-15 11:31:26 浏览: 评论:0 

这篇文章带你探究一下在php中什么为什么运算符===比==要快,文章中给大家介绍的非常详细,对大家的学习或工作都具有一定的参考价值。

那么本文将给大家介绍PHP中的===运算符为什么比==快?

PHP中的===和==运算符,这两个运算符属于PHP中的比较运算符。

===运算符称为绝对等于,==运算符称为等于。

语法示例:

$a == $b,如果在类型转换后 $a 等于 $b,则为 TRUE;

$a === $b,如果 $a 等于 $b,并且两者的类型相同,则为 TRUE;

如果操作数的类型不同,那么==和===将产生不同的结果,在这种情况下,操作符的速度会有所不同,因为==将执行类型转换,然后进行比较。

如果操作数是相同类型的,那么==和===将产生相同的结果。在这种情况下,这两个操作符的速度几乎相同,因为任何操作符都不执行类型转换。

==操作符会临时转换数据类型,以查看其值是否等于另一个操作数,而===不需要进行任何类型转换,因此完成的工作更少,这也就使得它比==操作符快。

代码示例1:

  1. var_dump(0 == "a"); 
  2.  
  3.    
  4.  
  5. // 1 == 1 -> true 
  6.  
  7. var_dump("1" == "01"); 
  8.  
  9.    
  10.  
  11. // 10 == 10 -> true 
  12.  
  13. var_dump("10" == "1e1"); 
  14.  
  15.    
  16.  
  17. // 100 == 100 -> true 
  18.  
  19. var_dump(100 == "1e2"); 
  20.  
  21.    
  22.  
  23.    
  24.  
  25. var_dump(0 === "a"); 
  26.  
  27.    
  28.  
  29. // "1" === "01" -> false 
  30.  
  31. var_dump("1" === "01"); 
  32.  
  33.    
  34.  
  35. // "10" === "1e1" -> false 
  36.  
  37. var_dump("10" === "1e1"); 
  38.  
  39.    
  40.  
  41. // 100 == "1e2" -> false 
  42.  
  43. var_dump(100 === "1e2"); 
  44.  
  45.    
  46.  
  47. switch ("a") { 
  48.  
  49.     case 0: 
  50.  
  51.         echo "第一种情况"
  52.  
  53.         break
  54.  
  55.    
  56.  
  57.     case "a"
  58.  
  59.         echo "第二种情况"
  60.  
  61.         break
  62.  

输出:

  1. boolean true 
  2.  
  3. boolean true 
  4.  
  5. boolean true 
  6.  
  7. boolean true 
  8.  
  9. boolean false 
  10.  
  11. boolean false 
  12.  
  13. boolean false 
  14.  
  15. boolean false 

第一种情况

代码示例2:

  1. var_dump(1 == TRUE); 
  2.  
  3.    
  4.  
  5. var_dump(0 == FALSE); 
  6.  
  7.    
  8.  
  9. var_dump(1 === TRUE); 
  10.  
  11.    
  12.  
  13. var_dump(0 === FALSE); 

输出:

  1. boolean true 
  2.  
  3. boolean true 
  4.  
  5. boolean false 
  6.  
  7. boolean false 

注意: === 运算符执行“类型安全比较”,仅当两个操作数具有相同的类型和值时它才会返回 true,而如果只比较值就可以使用==。

Tags: === ==

分享到: