博客列表 >switch与逻辑运算符

switch与逻辑运算符

手机用户1631860753
手机用户1631860753原创
2021年10月16日 22:45:06786浏览

一.复习

1.if语句

  • 比较符,左右两边比较,它比较完就只有两种结果,
  • 通过 if(){} 的()里面的两种结果比较,得到的结果是:true 或者 false
  • 例:
    1. if($a){
    2. }
    3. echo 18 < 20; //输出结果为 1 是真(true)

2.自定义函数

  • 在方法的()后面加 :类型 可以要求返回的结果类型
  • 函数可以先调用,后创建也是可以的
    1. echo j(10,100);
    2. function j($a,$b):string{
    3. return $b - $a;
    4. }
  • 输出

二.逻辑运算符

  • if()里面可以有多个条件,它只要最后的结果是true 或 false
    // and or xor !
    1. and && 都是与的意思
  • and两边的条件都是true,它就是 true
    1. $a =9;
    2. if($a <= 2){
    3. echo '小';
    4. }elseif($a >= 3 && $a <= 5){
    5. echo '中';
    6. }elseif($a >= 6 && $a <= 8){
    7. echo '大';
    8. }else{
    9. echo '未知';
    10. } // 根据$a 赋值来判断输出 小 , 中 , 大 , 未知
2. or || 都是或的意思
  • 当if()里的两个条件

    一个是 true 就返回true
    两个是 true 也返回true
    两个是 false 就返回 false

    1. var_dump(true || true); //输出结果是 true
    2. var_dump(true || false); //输出结果是 true
    3. var_dump(false || false); //输出结果是 false
3. xor
  • 如果两边都是 true 结果就是false
  • 当两边结果不一样时,输出才是 true
  • 两边都是false 结果也是 false

    1. var_dump(true xor true); //输出结果是 false
    2. var_dump(false xor false); //输出结果是 false
    3. var_dump(true xor false); //输出结果是 true
4. ! 是取反
  • 获取与输入相反的值
    1. var_dump(!true); // 输出结果是 false
    2. var_dump(!false); //输出结果是 true

三. switch 流程判断

  • switch 代码和判断都在,switch的{}里完成,不像if一样有多个{}
  • 当你知道是有多少个值的时候,多少sase的时候 用 switch ,不知道的时候用 if
  • switch只有一个{},看成一段代码,它只能在增加一个关键词 break
  • 在 switch 中 放if foreach,这些只要是PHP的代码都可以
  • default 相当于if的else{},在没有匹配到使用条件时,才会执行

四.逻辑函数

  • isset()
  • empty()

  • 用函数可以解决直接判断变量时会出现的一些小问题,比如,因为输入一个空格,就判断为 true

  • isset 只要变量存在,就是 true
  • 除了比较运算符,很多函数的返回值也是 true 和 false
  • isset 把 0,false,’’都认为是有值的,是true; null 和 没有这个变量是, false
  • isset 还可以不存在变量,不会让他报错
  • 我们有时候只需要一个判断,就要一个取反就可以了
  • empty 和 isset 是刚好相反的
  • empty 如果变量是空就为 true
  • gettype 获取变量类型
  • is_string 判断类型是否是字符串
  • is_int 判断类型是否是整数
  • is_float 判断类型是否是浮点型
  • is_bool 判断类型是否是布尔值
  • is_null 判断类型是否为空
  • is_array 判断类型是否是数组
  • is_object 判断类型是否是对象

  • 短标签 <? ?> 在原生代码里会使用

  • <? $_GET[‘$a’] ?> 相当于输出
  • 在数组里没有下标时,你把它输出,它就会报错
  • $GET 是系统创建的全局变量,有特殊意义,需要用大写还有开头需要下划线 ,是专门用来获取 ur1 上的传值

五.switch计算器,与判断

  • 源代码
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <form action="" method="get">
  11. <h1>计算器</h1>
  12. <input type="number" name="num1" value="<?= isset($_GET['num1']) ? $_GET['num1'] : '' ?>">
  13. <select name="opt">
  14. <option value="+" <?= isset($_GET['opt']) && $_GET['opt'] == '+' ? 'selected' : '' ?>> + </option>
  15. <option value="+" <?= isset($_GET['opt']) && $_GET['opt'] == '-' ? 'selected' : '' ?>> - </option>
  16. <option value="*" <?= isset($_GET['opt']) && $_GET['opt'] == '*' ? 'selected' : '' ?>> * </option>
  17. <option value="/" <?= isset($_GET['opt']) && $_GET['opt'] == '/' ? 'selected' : '' ?>> / </option>
  18. <option value="%" <?= isset($_GET['opt']) && $_GET['opt'] == '%' ? 'selected' : '' ?>> % </option>
  19. </select>
  20. <input type="number" name="num2" value="<?= isset($_GET['num2']) ? $_GET['num2'] : '' ?>">
  21. <input type="submit" value="计算">
  22. </form>
  23. </body>
  24. </html>
  25. <?php
  26. $num1 = $_GET['num1'];
  27. $num2 = $_GET['num2'];
  28. $opt = $_GET['opt'];
  29. $num3 = 0;
  30. if (!empty($_GET)) {
  31. switch ($opt) {
  32. case '+':
  33. if ($num1 <= '0' || $num2 <= '0') {
  34. $num3 = '输入值不能小于0!';
  35. } else {
  36. $num3 = $num1 + $num2;
  37. }
  38. break;
  39. case '-':
  40. if ($num1 <= '0' || $num2 <= '0') {
  41. $num3 = '输入值不能小于0!';
  42. } else {
  43. $num3 = $num1 - $num2;
  44. }
  45. break;
  46. case '*':
  47. if ($num1 <= '0' || $num2 <= '0') {
  48. $num3 = '输入值不能小于0!';
  49. } else {
  50. $num3 = $num1 * $num2;
  51. }
  52. break;
  53. case '/':
  54. if ($num1 <= '0' || $num2 <= '0') {
  55. $num3 = '输入值不能小于0!';
  56. } else {
  57. $num3 = $num1 / $num2;
  58. }
  59. break;
  60. case '%':
  61. if ($num1 <= '0' || $num2 <= '0') {
  62. $num3 = '输入值不能小于0!';
  63. } else {
  64. $num3 = $num1 % $num2;
  65. }
  66. break;
  67. default:
  68. $num3 = '无效运算!';
  69. }
  70. echo '(数字1):' . ($num1) . $_GET['opt'] . '(数字2):' . ($num2) . '结果=' . $num3;
  71. }
  72. ?>
  • 计算器效果
  • 判断输入值不能下于0

1、练习下这堂课学的 2、计算机的if 改为 switch 3、自己增加下判断,不让结果为0, 或者 判断 传值的时候 不要小于0

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议