博主信息
超超多喝水
博文
31
粉丝
0
评论
0
访问量
2231
积分:0
P豆:62

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

2021年10月14日 20:59:45阅读数:27博客 / 超超多喝水/ PHP学习

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>
批改老师:PHPzhongPHPzhong

批改状态:合格

老师批语:有自己的想法,前端给的数据不一定可靠,自己验证一遍才是真的放心

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论