欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP基础:if 和 switch

程序员文章站 2022-03-03 22:05:13
...

if 和 switch

1、if(){} 条件

  1. //(1)and && 与 两个条件同时为真,才是真
  2. $age1=19;
  3. if($age1>=18 && $age1<=45){
  4. echo '青壮年';
  5. }
  6. //运行结果:青壮年
  7. echo '<hr />';
  8. //(2)or || 或
  9. $tel= '';
  10. $mob='';
  11. if(!$tel || $mob){
  12. echo '手机和电话必填一个';
  13. }
  14. //运行结果:手机和电话必填一个
  15. echo '<hr />';
  16. //(3)xor 亦或
  17. $p1='男';
  18. $p2='女';
  19. if($p1=='男' xor $p2=='男'){
  20. echo '异性可以结婚';
  21. }else{
  22. echo '同性不能结婚';
  23. }
  24. //运行结果:异性可以结婚
  25. echo '<hr />';
  26. //(4)! 取反
  27. $name='';
  28. if(!$name){
  29. echo '姓名不能为空';
  30. }
  31. //运行结果:姓名不能为空
  32. echo '<hr />';

2、switch(){} 流程判断

  1. $age=77;
  2. switch($age){
  3. case $age <=6:
  4. echo '幼儿';
  5. break;
  6. case $age >=6 && $age <=12:
  7. echo '少儿';
  8. break;
  9. case $age >=13 && $age <=17:
  10. echo '青少年';
  11. break;
  12. case $age >=18 && $age <=45:
  13. echo '青壮年';
  14. break;
  15. case $age >=46 && $age <=69:
  16. echo '中年';
  17. break;
  18. default:
  19. echo '老年';
  20. }
  21. //运行结果:老年

php8.0 改动和新增

  • php8.0 改动

    1. var_dump(0=='1234566');
    2. //运行结果 bool(false)
    3. //php8.0之前为真
  • match(){} php8.0 新增 严格区分大小写

  1. $nums=2;
  2. echo match($nums){
  3. 1=>'未审核',
  4. 2=>'已审核',
  5. 3=>'拒绝审核',
  6. default=>'未知状态'
  7. };
  8. //运行结果:已审核

逻辑函数

  1. //isset() 只要存在即为真 0、''、false 没有变量或null为假
  2. //$name2='';
  3. if(!isset($name2)){
  4. echo '没有姓名';
  5. }
  6. //运行结果:没有姓名
  7. echo '<hr />';
  8. //empty() null、0、''、false 为真
  9. $name3='';
  10. if(empty($name3)){
  11. echo '没有姓名';
  12. }
  13. //运行结果:没有姓名
  14. echo '<hr />';
  15. $arr=[];
  16. if(!empty($arr)){
  17. echo '执行';
  18. foreach ($arr as $v){
  19. }
  20. }
  21. echo '<hr />';
  22. echo gettype($arr);//获取变量类型
  23. // is_string()判断类型是否为字符串
  24. //is_int 判断整型 常用
  25. //is_float
  26. //is_bool
  27. //is_null
  28. //is_array 常用 如果是数组循环,不是数组不循环
  29. //is_object

实力演练 计算器

  1. <?php
  2. //获取传值并判断传值是否存在
  3. $num1= isset($_GET['num1']) ? $_GET['num1'] :'';
  4. $opt= isset($_GET['opt']) ? $_GET['opt'] :'';
  5. $num2= isset($_GET['num2']) ? $_GET['num2'] :'';
  6. ?>
  7. <!doctype html>
  8. <html lang="zh_cn">
  9. <head>
  10. <meta charset="UTF-8">
  11. <meta name="viewport"
  12. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  13. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  14. <title>计算器</title>
  15. </head>
  16. <body>
  17. <div class="box">
  18. <h1>计算器</h1>
  19. <form action="" method="get">
  20. <input type="number" name="num1" value="<?php echo $num1; ?>" placeholder="请输入第一个数字">
  21. <select name="opt">
  22. <option value="+" <?php if($opt=='+'){echo 'selected';} ?>>+</option>
  23. <option value="-" <?php if($opt=='-'){echo 'selected';} ?>>-</option>
  24. <option value="*" <?php if($opt=='*'){echo 'selected';} ?>>*</option>
  25. <option value="/" <?php if($opt=='/'){echo 'selected';} ?>>/</option>
  26. <option value="%" <?php if($opt=='%'){echo 'selected';} ?>>%</option>
  27. </select>
  28. <input type="number" name="num2" value="<?php echo $num2; ?>" placeholder="请输入第二个数字">
  29. <input type="submit" value="计算">
  30. </form>
  31. </div>
  32. </body>
  33. </html>
  34. <?php
  35. //print_r($_GET);
  36. //判断输入数字是否小于0
  37. if($num1<0 ||$num2<0 ){
  38. echo '输入的数字不得小于0';
  39. exit();
  40. }
  41. //判断传值是否为空
  42. if(!empty($_GET)){
  43. //判断运算符号
  44. switch ($opt){
  45. case '+':
  46. $num=$num1+$num2;
  47. break;
  48. case '-':
  49. $num=$num1-$num2;
  50. break;
  51. case '*':
  52. $num=$num1*$num2;
  53. break;
  54. case '/':
  55. $num=$num1/$num2;
  56. break;
  57. case '%':
  58. $num=$num1%$num2;
  59. break;
  60. }
  61. //判断运算结果是否为0
  62. if(!$num==0){
  63. echo $num1 . $opt . $num2 .'的运算结果是:'. $num;
  64. }else{
  65. echo '计算结果不得为0';
  66. }
  67. }
  68. ?>

效果图
PHP基础:if 和 switch