博客列表 >运算符、流程控制

运算符、流程控制

鹏建
鹏建原创
2020年04月19日 15:24:26456浏览

  1. <?php
  2. // 流程控制
  3. // 一、分支结构
  4. // 1、单分支
  5. $wages=3500;
  6. if($wages>3000){
  7. $party_fee=$wages * 0.01;
  8. }
  9. echo "党费:"."$party_fee"."元";
  10. echo "<br>";
  11. // 模板语法
  12. if($wages>3000):
  13. $party_fee=$wages * 0.01;
  14. endif;
  15. echo "党费:"."$party_fee"."元";
  16. echo "<br>";
  17. // 2、双分支
  18. $wages=2800;
  19. if($wages>3000){
  20. $party_fee=$wages * 0.01;
  21. }else{
  22. $party_fee=$wages * 0.005;
  23. }
  24. echo "党费:"."$party_fee"."元";
  25. echo "<br>";
  26. // 模板语法
  27. if($wages>3000):
  28. $party_fee=$wages * 0.01;
  29. else:
  30. $party_fee=$wages * 0.005;
  31. endif;
  32. echo "党费:"."$party_fee"."元";
  33. echo "<br>";
  34. // 3、多分支
  35. $wages=15000;
  36. if($wages>3000&&$wages<=5000){
  37. $party_fee=$wages * 0.01;
  38. }elseif($wages>5000&&$wages<=10000){
  39. $party_fee=$wages * 0.15;
  40. }elseif($wages>10000){
  41. $party_fee=$wages * 0.2;
  42. }else{
  43. $party_fee=$wages * 0.005;
  44. }
  45. echo "党费:"."$party_fee"."元";
  46. echo "<br>";
  47. // 模板语法
  48. if($wages>3000&&$wages<=5000):
  49. $party_fee=$wages * 0.01;
  50. elseif($wages>5000&&$wages<=10000):
  51. $party_fee=$wages * 0.15;
  52. elseif($wages>10000):
  53. $party_fee=$wages * 0.2;
  54. else:
  55. $party_fee=$wages * 0.005;
  56. endif;
  57. echo "党费:"."$party_fee"."元";
  58. echo "<br>";
  59. // 4、switch:简化多分支
  60. $wages=8000;
  61. switch (true){
  62. case $wages>3000&&$wages<=5000:
  63. $party_fee=$wages*0.01;
  64. break;
  65. case $wages>5000&&$wages<=10000:
  66. $party_fee=$wages*0.15;
  67. break;
  68. case $wages>10000:
  69. $party_fee=$wages*0.2;
  70. break;
  71. default:$party_fee=$wages * 0.005;
  72. }
  73. echo "党费:"."$party_fee"."元";
  74. echo "<br>";
  75. // 模板语法
  76. switch (true):
  77. case $wages>3000&&$wages<=5000:
  78. $party_fee=$wages*0.01;
  79. break;
  80. case $wages>5000&&$wages<=10000:
  81. $party_fee=$wages*0.15;
  82. break;
  83. case $wages>10000:
  84. $party_fee=$wages*0.2;
  85. break;
  86. default:$party_fee=$wages * 0.005;
  87. endswitch;
  88. echo "党费:"."$party_fee"."元";
  89. echo "<br>";
  90. // 二、循环结构
  91. // 1、入口判断型
  92. $fruits=["苹果","香蕉","芒果","西瓜","桃子"];
  93. // $fruit=current($fruits)循环条件
  94. while ($fruit=current($fruits)){
  95. echo $fruit;
  96. // 更新循环
  97. next($fruits);
  98. }
  99. reset($fruits);
  100. // 模板语法
  101. while ($fruit=current($fruits)):
  102. echo $fruit;
  103. // 更新循环
  104. next($fruits);
  105. endwhile;
  106. reset($fruits);
  107. echo "<hr>";
  108. // 2、出口判断型
  109. do{
  110. $fruit=current($fruits);
  111. echo $fruit;
  112. next($fruits);
  113. }
  114. while($fruit=current($fruits));
  115. reset($fruits);
  116. echo "<hr>";
  117. // 3、计数型
  118. echo "数组中有:".count($fruits);
  119. // $a=0变量初始化
  120. // $a<count($fruits)循环条件
  121. // $a++更新循环条件
  122. for($a=0;$a<count($fruits);$a++){
  123. echo $fruits[$a];
  124. }
  125. echo "<hr>";
  126. // continue: 终止当前循环,提前进入下一轮
  127. // break; 跳出本层
  128. for($a=0;$a<count($fruits);$a++):
  129. if(!$fruits[$a]) continue;
  130. echo $fruits[$a];
  131. if($fruits[$a]==="香蕉") break;
  132. endfor;
  133. ?>

  1. <?php
  2. // 算数运算符
  3. $x=46;
  4. $y=5;
  5. echo $x+$y."<br>";
  6. echo $x-$y."<br>";
  7. echo $x*$y."<br>";
  8. echo $x/$y."<br>";
  9. echo $x%$y."<br>";
  10. echo -$x."<br>";
  11. // 赋值运算符
  12. $x=46;
  13. echo $x."<br>";
  14. $x+=21;
  15. // $x=$x+21;
  16. echo $x."<br>";
  17. $x-=15;
  18. // $x=$x-15;
  19. echo $x."<br>";
  20. $x*=1;
  21. // $x=$x*1;
  22. echo $x."<br>";
  23. $x/=3;
  24. // $x=$x/3;
  25. echo $x."<br>";
  26. $x%=3;
  27. // $x=$x%3;
  28. echo $x."<br>";
  29. // 递增递减运算符
  30. //先返回后加
  31. echo $x++."<br>";
  32. // 先加后返回
  33. echo ++$x."<br>";
  34. // 先减后返回
  35. echo --$x."<br>";
  36. // 先返回后减
  37. echo $x--."<br>";
  38. // 字符串运算符
  39. $x=123;
  40. $y="abc";
  41. echo $x.$y;
  42. echo "<br>";
  43. // 比较运算符
  44. $x=11;
  45. $y="11";
  46. // 值相等则为真
  47. var_dump ($x==$y);
  48. echo "<br>";
  49. // 严格相等才为真
  50. var_dump ($x===$y);
  51. echo "<br>";
  52. // 值不等,则为真
  53. var_dump ($x!=$y);
  54. echo "<br>";
  55. // 严格不等才为真
  56. var_dump ($x!==$y);
  57. echo "<br>";
  58. // 太空船比较符,又叫组合比较符
  59. $x=11;
  60. $y=6;
  61. var_dump ($x<=>$y);
  62. var_dump ($y<=>$x);
  63. var_dump ($x<=>$x);
  64. echo "<br>";
  65. // 逻辑运算符
  66. $x=3;
  67. $y=8;
  68. // &&和运算,都真才真
  69. var_dump ($x<5&&$y>5);
  70. // ||或运算,有一真则为真
  71. var_dump ($x<5||$y<5);
  72. // !非运算,不真则为真
  73. var_dump (!$x>5);
  74. // 三元运算符
  75. // ? : 简化双分支if
  76. $age=10;
  77. if($age > 18 ){echo "成年人";}
  78. else{echo "未成年人" ;}
  79. // 条件 ? true : false
  80. echo $age > 18 ?"成年人" : "未成年人";
  81. // ?? null合并运算符
  82. // 变量=变量??默认值
  83. $sex="男";
  84. // if($sex=$sex){echo "$sex";}
  85. // else{echo "男" ;}
  86. echo $sex=isset($sex)?"$sex":"男";
  87. echo $sex=$sex ??"男";
  88. // 错误运算符
  89. // 加上@可以屏蔽错误,但语法除外
  90. @$x=abc;
  91. ?>

作业总结:
1、条件 ? true : false
echo $age > 18 ?”成年人” : “未成年人”;
2、变量 = 变量 ?? 默认值
echo $sex=$sex ??”男”;
3、&&和运算,都真才真
||或运算,有一真则为真
!非运算,不真则为真
4、太空船比较符($y<=>$x)
$y>$x,返回1; $y=$x,返回0;$y<$x,返回-1
5、错误运算符(加上@可以屏蔽错误,但语法除外)
6、分支结构
a、 if(条件){}
elseif(条件){执行结果;}
elseif(条件){执行结果;}
else{执行结果;}
b、模板语法
if(条件):执行结果;
elseif(条件):执行结果;
elseif(条件):执行结果;
else:执行结果;
endif;
c、swtich简化
switch(true){
case(条件):执行结果;
break;
case(条件):执行结果;
break;
dault:执行结果;
}
7、循环结构
a、入口判断型
while (循环条件){
echo 循环值;
更新循环;}
例如:while ($fruit=current($fruits)){
echo $fruit; next($fruits);}
b、出口判断型
do{循环条件;
echo 循环值;
更新循环; }
while(循环条件);
c、计数型
for(变量初始化;循环条件;更新循环条件){
echo 循环值;}
例如:
for($a=0;$a<count($fruits);$a++){
if(!$fruits[$a]) continue;
echo $fruits[$a];
if($fruits[$a]===”香蕉”) break;}
【continue: 终止当前循环,提前进入下一轮
break; 跳出本层】

  1. current(array) :获取数组中的当前元素的值;
  2. next(array) 将内部指针指向数组中的下一个元素,并输出;
  3. reset(array):将内部指针指向数组中的第一个元素,并输出;
  4. isset(变量) 函数用于检测变量是否已设置并且非 NULL;
  5. var_dump() 函数用于输出变量的相关信息,包括表达式的类型与值.
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议