php有5种算术操作符(+ – * / %)

php xiaogua 429℃ 0评论

 

php有5种算术操作符(+ – * / %),6种赋值操作符(+= -= *= /= %= .=),8种比较操作符(=== < > <= >= != <> !==),6种的逻辑操作符(如&&、 ||、 &、 |、 ! 。其中逻辑与&可写成and,逻辑或|写成or),以及一些其他操作符(错误控制操作符@、 执行操作符反引号”–不是单引号、字符串操作符.与.=、递增/递减操作符++/–、三元操作符?:)。

关于操作符优先级,可以参考相关文档。

 

php中&和&&的异同

 

  1. <?php
  2. $a=10;
  3. if($a>4 && (++$a>10))
  4. {
  5. }
  6. //输出结果为11.
  7. echo $a;
  8. ?>
  9. <?php
  10. $a=10;
  11. if($a>4 and (++$a>10))
  12. {
  13. }
  14. //输出结果为11.
  15. echo $a;
  16. ?>
  17. **************************************************************
  18. <?php
  19. $a=10;
  20. if($a>4 && (++$a<10))
  21. {
  22. }
  23. //输出结果为11.
  24. echo $a;
  25. ?>
  26. <?php
  27. $a=10;
  28. if($a>4 & (++$a<10))
  29. {
  30. }
  31. //输出结果为11.
  32. echo $a;
  33. ?>
  34. *********************************************************
  35. <?php
  36. $a=10;
  37. if($a<4 && (++$a>10))
  38. {
  39. }
  40. //输出结果为10.
  41. echo $a;
  42. ?>
  43. <?php
  44. $a=10;
  45. if($a<4 & (++$a>10))
  46. {
  47. }
  48. //输出结果为11.
  49. echo $a;
  50. ?>
  51. *******************************************************************
  52. <?php
  53. $a=10;
  54. if($a<4 && (++$a<10))
  55. {
  56. }
  57. //输出结果为10.
  58. echo $a;
  59. ?>
  60. <?php
  61. $a=10;
  62. if($a<4 & (++$a<10))
  63. {
  64. }
  65. //输出结果为11.
  66. echo $a;
  67. ?>
  68. *******************************************************************
  69. <?php
  70. // 下面的 sktest() 不被调用,原因是它们被运算符“短路”。
  71. $a = (false && sktest());
  72. $b = (true  || sktest());
  73. $c = (false and sktest());
  74. $d = (true  or  sktest());
  75. // ”||” 的优先级比 ”or” 高
  76. $e = false || true; // $e 被赋值为 (false || true),结果为 true
  77. $f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]
  78. var_dump($e, $f);
  79. // ”&&” 的优先级比 ”and” 高
  80. $g = true && false; // $g 被赋值为 (true && false),结果为 false
  81. $h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]
  82. var_dump($g, $h);
  83. ?>

 

表达式一$a && $b ,表达式二$a & $b

1、相同点:两个表达式都是当$a、$b都为true时,表达式为真。两种运算符对此表达式结果没有影响。

2、不同点:表达式$a && $b中&&前面的$a为false时,已确定表达式为假,此时逻辑操作符&&后的$b不再进行计算,即所谓的被运算符 “短路”了。而对于表达式$a & $b,不论&前的$a真假,表达式后的$b依然要进行计算。逻辑操作符后的$b是否被运行,可能影响到后面的数据和程序结果。

对于逻辑操作符||和|,异同同上。

 

转载请注明:南瓜的小窝 » php有5种算术操作符(+ – * / %)

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
string(116) "No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling ismaster on '127.0.0.1:27017']"