PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > php入门知识:运算符&分支与循环结构

php入门知识:运算符&分支与循环结构

Jason Pu?
Jason Pu? 原创
2021年01月28日 12:21:20 641浏览

一.PHP运算符

PHP运算符分为:
1:算术运算符:加:+, 减:-, 乘:, 除:/, 取余:%
2:字符串运算符:字符运算符只有一个,即英文的句号:“.”
3.赋值运算符:赋值运算符是把基本赋值运算符“=”右边的值赋给左边的变量或常量,常用赋值运算符有:=, +=, -=,
=, /=, .=, %=
4.递增或递减运算符:++,—
5.逻辑运算符:逻辑与:&&或and, 逻辑与或||或or, 逻辑异或:xor, 逻辑非:!
6.比较运算符:小于:<, 大于:>, 小于或等于:<=, 大于或等于:>=, 相等:==, 不等:_=, 恒等:===, 非恒等:!==


以下选重点及易错运算符演示:
1.在算术运算符里,/和%很容易混淆,/是除,%是取余数,例如:

  1. echo 10/3;//3.3333333333333
  2. echo 10%3;//1

判断一下去年是不是闰年:

  1. $last_year = date("Y")-1;
  2. if($last_year % 4===0 && $last_year %100 !==0){
  3. printf('%d年是闰年',$last_year);
  4. }else{
  5. printf('%d年不是闰年',$last_year);
  6. }
  7. //运算结果是:2020年是闰年

2.自增和自减运算符在前后的意义:
++$a或—$a是先执行 $a=$a+1,或者$a=$a-1,再用$a,例如:

  1. $a = 10;
  2. printf ('++a=%d,$a=%d',++$a,$a);//++a=11,$a=11
  3. printf ('++a=%d,$a=%d',$a++,$a);//++a=10,$a=11

3.用”.=”做字符串拼接:

  1. $str = "I am:";
  2. $str .= "Jasper";
  3. echo $str;//I am:Jasper

4:==和===的差别:==只要值相等就是true,如果二边类型不同会自动转换,例如:

  1. var_export(100=="100");//true
  2. //展开就是:
  3. var_export(100==(int)100);
  4. //或者:
  5. var_export((string)100=="100");

===是要求值和类型都相同才返回true:

  1. var_export(100==="100");//false
  2. var_export(100===(int)"100");//true

5.太空船运算符:<=>:用于比较两个表达式 $a 和 $b,如果 $a 小于、等于或大于 $b时,它分别返回-1、0或1。例如:

  1. var_export (1<=>1);//0
  2. var_export (1<=>2);//-1

6.三元运算符简化if(){}else{}:
if条件:

  1. $age=18;
  2. if($age>=18){
  3. echo "可以去酒吧玩耍!";
  4. }else{
  5. echo "小孩子好好学习不要去酒吧!";
  6. };

使用三元运算简化后:

  1. echo $age>=18?"可以去酒吧玩耍!":"小孩子好好学习不要去酒吧!";

7.null合并运算符(??)
例如原表达式为:

  1. if(isset($a)){
  2. $a;
  3. } else {
  4. $b;
  5. };

简化成null合并运算符:

  1. $a ?? $b;//$a是不是是null,如果不为null,则返回$a,否则返回$b;

二.PHP的流程控制与循环结构

流程控制:

1:单分支:

  1. $score = 80;
  2. if($score>=60){
  3. echo "恭喜你本校录取了!";
  4. }
  5. //php替代语法:
  6. if($score>=60):
  7. echo "恭喜你本校录取了!";
  8. endif;

2.双分支:

  1. if($score>=60){
  2. echo "恭喜你本校录取了!";
  3. }else{
  4. echo "继续努力吧同学!";
  5. };
  6. //PHP简化替代语法:
  7. if($score>=60):
  8. echo "恭喜你本校录取了!";
  9. else:
  10. echo "继续努力吧同学!";
  11. endif;

3.三元表达式:

  1. echo $score>=60?"恭喜你本校录取了!":"继续努力吧同学!";

4.多分支:

  1. if($score>100){
  2. echo "请输入一个合法的分数!";
  3. }elseif($score<80 && $score>=60){
  4. echo "恭喜你被本校录取!";
  5. }elseif($score>=80){
  6. echo "恭喜你被本校录取并可以申请奖学金!";
  7. }else{
  8. echo "继续努力吧同学!";
  9. };
  10. //PHP简化替代语法:
  11. if($score>100):
  12. echo "请输入一个合法的分数!";
  13. elseif($score<80 && $score>=60):
  14. echo "恭喜你被本校录取!";
  15. elseif($score>=80):
  16. echo "恭喜你被本校录取并可以申请奖学金!";
  17. else:
  18. echo "继续努力吧同学!";
  19. endif;

5.用switch判断现在的季节:

  1. $month = date("n");
  2. switch ($month){
  3. case 3 || 4 || 5:
  4. echo "Spring";
  5. break;
  6. case 6 || 7 || 8:
  7. echo "Summer";
  8. break;
  9. case 9 || 10 || 11:
  10. echo "autumn";
  11. break;
  12. case 12 || 1 || 2:
  13. echo "winter";
  14. break;
  15. default:
  16. echo "No such of month in a year...";
  17. };
  18. **//PHP简化替代语法:**
  19. switch ($month):
  20. case 3 || 4 || 5:
  21. echo "Spring";
  22. break;
  23. case 6 || 7 || 8:
  24. echo "Summer";
  25. break;
  26. case 9 || 10 || 11:
  27. echo "autumn";
  28. break;
  29. case 12 || 1 || 2:
  30. echo "winter";
  31. break;
  32. default:
  33. echo "No such of month in a year...";
  34. endswitch;

循环:

循环结构有三要素:1循环条件的初始值,2循环条件,3更新循环的条件
1:入口型:

  1. $movies_name = ["无依之地","一秒钟"," 穷途鼠的奶酪梦","女人的碎片","刻在你心底的名字"];
  2. $i=0;
  3. while($i<count($movies_name)){
  4. echo $movies_name[$i]."<br>";
  5. $i++;
  6. };

2.出口型:do{…}while(),就算当前条件为false,也要先干一次再判断

  1. $i=0;
  2. do{
  3. echo $movies_name[$i]."<br>";
  4. $i++;
  5. }while($i<count($movies_name));

3.计算式:for,可以当作是while的简化,可以在循环体中加入条件判断,continue:进入到下一轮,break:直接退出循环

  1. for($i=0;$i<count($movies_name);$i++){
  2. //跳过这部电影:
  3. if($movies_name[$i]=="女人的碎片") continue;
  4. echo $movies_name[$i]."<br>";
  5. };

4.直接遍历所有电影:

  1. foreach ($movies_name as $movie){
  2. if($movie=="女人的碎片") break;//提前跳出循环
  3. echo $movie."<br>";
  4. };

三.include和require引入的差别

require() 语句的性能与 include() 相类似,都是包括并运行指定文件
include是在运行阶段包含,所以可以用在if中

include与require最大的区别就是:
include在引入不存文件时产生一个警告且脚本还会继续执行,
require则会导致一个致命性错误且脚本停止执行。
include_once和require_once:只包含一次

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