Blogger Information
Blog 49
fans 0
comment 0
visits 38159
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
if 函数进阶及逻辑函数与 switch 的初步练习
超超多喝水
Original
692 people have browsed it

if 函数进阶及逻辑函数与 switch 的初步练习

if 函数

  • 比较运算符

比较运算符就是用运算符将左右两侧的值进行比较,它只能返回两种结果:true 或 false

  • 逻辑运算符

    • 逻辑运算符包含:与-and(&&) 或-or(||) 非-! 异或-xor
    • &&,两者均为真时输出真,有一方为假输出假
    • ||,两者有一个为真时输出真,两者均为假时输出假
    • xor,两者均为真或均为假时输出假,一真一假时输出真
    • !,将真值转为假值,将假值转为真值
  • 两者经常会结合在一起在 if 函数中使用

  1. $a = 10;
  2. $b = 5;
  3. $c = 10;
  4. $d = "10";
  5. // 比较运算符
  6. if ($a < $b) {
  7. echo "正确1";
  8. } else if ($a <= $b) {
  9. echo "正确2";
  10. } else if ($b > $c) {
  11. echo "正确3";
  12. } else if ($b >= $c) {
  13. echo "正确4";
  14. } else if ($a === $d) {
  15. echo "正确5";
  16. } else if ($a !== $c) {
  17. echo "正确6";
  18. } else {
  19. echo "非法判断";
  20. }
  21. echo "<hr>";
  22. // 比较运算符与逻辑运算符
  23. // &&
  24. // true&&false
  25. if ($a > $b && $a > $c) {
  26. echo "正确1";
  27. }
  28. // true&&true
  29. if ($a > $b && $a === $c) {
  30. echo "正确1";
  31. }
  32. // false&&false
  33. if ($a < $b && $a !== $c) {
  34. echo "正确1";
  35. }
  36. // ||
  37. // true||false
  38. if ($a > $b || $a > $c) {
  39. echo "正确1";
  40. }
  41. // true||true
  42. if ($a > $b || $a === $c) {
  43. echo "正确1";
  44. }
  45. // false||alse
  46. if ($a < $b || $a !== $c) {
  47. echo "正确1";
  48. }
  49. // xor
  50. // true xor false
  51. if ($a > $b xor $a > $c) {
  52. echo "正确1";
  53. }
  54. // true xor true
  55. if ($a > $b xor $a === $c) {
  56. echo "正确1";
  57. }
  58. // false xor alse
  59. if ($a < $b xor $a !== $c) {
  60. echo "正确1";
  61. }
  62. // !
  63. // !true
  64. if (!($a < $b)) {
  65. echo "正确";
  66. }
  67. // !false
  68. if (!($a > $b)) {
  69. echo "正确";
  70. }

逻辑函数

常用的逻辑函数有

  • isset():如果括号里的值是 null 或者不存在的变量会返回 false
  • empty():如果括号里的值是 null;0;””;false;空数组 就会返回 true
  • gettype()获取变量类型
  • is_string()是否是字符串
  • is_int()是否是整形
  • is_float()是否是浮点型
  • is_bool()是否是布尔值
  • is_null()是否是 null
  • is_array()是否是数组
  • is_object()是否是对象

switch 函数

switch 函数以 switch 关键词开头 后面跟小括号,小括号内部是传入需要判断的参数,再后面跟大括号,里面是需要执行的判断代码,每一个判断代码是 case 后面加判断条件,以:输出结果,如果判断到是哪个 case 执行,执行完毕后需要加一个 break 终止代码,否则会一直执行,最后可以加一个 default 来处理非上面判断内容的情况(类似于 if 语句中最后的 else)

用 switch 制作一个简易计算器

  1. <?php
  2. $notice = "";
  3. @$num1 = (int)$_GET["num1"];
  4. @$num2 = (int)$_GET["num2"];
  5. @$opt = $_GET["opt"];
  6. //判断内容为空提示请输入内容
  7. if (@$_GET["num1"] === "" && @$_GET["num2"] === "") {
  8. $notice = '<span style="color:red">结果:请输入内容</span>';
  9. //限定输入的两个值最大1000亿
  10. } else if (strlen($num1) > 12 && strlen($num1) > 12) {
  11. $notice = '<span style="color:red">结果:ops~~~ 输入的数值忒长,算不过来啦</span>';
  12. //限定除法跟取余第二个值不能为0
  13. } else if (($opt === "÷" || $opt === "%") && $num2 === 0) {
  14. $notice = '<span style="color:red">结果:除数不能为0哦~</span>';
  15. //判断输入内容在地址栏被篡改后给出提示
  16. } else if ((@$_GET["num1"] != "" && $num1 === 0) || (@$_GET["num2"] != "" && $num2 === 0)) {
  17. $notice = '<span style="color:red">结果:请输入合法数值~</span>';
  18. //判断运算符在地址栏被篡改后给出提示
  19. } else if (@$_GET["num1"] != "" && @$_GET["num2"] != "" && $opt = "") {
  20. $notice = '<span style="color:red">结果:请选择正确的运算符~</span>';
  21. } else {
  22. // switch进行运算
  23. switch ($opt) {
  24. case "+":
  25. $notice = $num1 + $num2;
  26. break;
  27. case "-":
  28. $notice = $num1 - $num2;
  29. break;
  30. case "×":
  31. $notice = $num1 * $num2;
  32. break;
  33. case "÷":
  34. $notice = $num1 / $num2;
  35. break;
  36. case "%":
  37. $notice = $num1 % $num2;
  38. break;
  39. }
  40. }
  41. ?>
  42. <!DOCTYPE html>
  43. <html lang="zh-CN">
  44. <head>
  45. <meta charset="UTF-8">
  46. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  47. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  48. <title>简易计算器</title>
  49. </head>
  50. <body>
  51. <h2>计算器</h2>
  52. <form action="" method="GET">
  53. <!-- 如果值不为空且输入过保留输入过的值 -->
  54. <input type="number" name="num1" value=<?php if (@$_GET["num1"] != "") echo $num1 ?> required>
  55. <select name="opt" id="opt">
  56. <!-- 判断上次选择的哪个运算符保留该值 -->
  57. <option value="+" <?php if ($opt === "+") echo "selected" ?>>+</option>
  58. <option value="-" <?php if ($opt === "-") echo "selected" ?>>-</option>
  59. <option value="×" <?php if ($opt === "×") echo "selected" ?></option>
  60. <option value="÷" <?php if ($opt === "÷") echo "selected" ?></option>
  61. <option value="%" <?php if ($opt === "%") echo "selected" ?>>取余</option>
  62. </select>
  63. <!-- 如果值不为空且输入过保留输入过的值 -->
  64. <input type="number" name="num2" value=<?php if (@$_GET["num2"] != "") echo $num2 ?> required>
  65. <button>计算</button>
  66. </form>
  67. <!-- 输出值 -->
  68. <?php echo $notice; ?>
  69. </body>
  70. </html>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:有自己的想法,前端给的数据不一定可靠,自己验证一遍才是真的放心
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post