博客列表 >0108循环与分支

0108循环与分支

曾
原创
2020年01月31日 13:10:58421浏览

循环的主要函数

for()循环
格式:
for(设置初始循环变量;判断条件;初始循环变量更新;){
执行语句;

例:

  1. <?php
  2. // 设置一个数组
  3. $arr1 = ['html','css','js','php'];
  4. // 设置初始变量$i为0,每次循环判断条件为$i<数组元素长度,更新循环变量条件为$i++(表示为每次循环i自动加1)
  5. for($i = 0;$i < count($arr1);$i++){
  6. // 循环输出$arr1里面的元素直到$i>数组元素长度时终止
  7. echo $arr1[$i].'<br>';
  8. }

图1

图2

上面使用了一个count()函数,它主要是获取到数组的长度(元素个数)。
格式:
count(需要测量的数组名)

  1. <?php
  2. // 设置一个数组
  3. $arr1 = ['html','css','js','php'];
  4. // count获取数组元素的个数(长度)
  5. echo '数组元素的长度: '. count($arr1). ' 个元素';



类似的还有strlen(),它是获取字符串的长度
格式
strlen(‘字符串’ | 字符串变量名)

  1. <?php
  2. $str = 'php.cn';
  3. echo '字符串的长度为:'.strlen($str). ' 个字符';



字符串的删减相关函数
trim()从字符串两边开始删除,ltrim()从字符串的左边开始删除,rtrim()从字符串的右边开始删除。

格式 trim(变量名,‘需要删除的字符如果不设置,默认为空格’),rtrim(变量名,‘需要删除的字符如果不设置,默认为空格’),ltrim(变量名,‘需要删除的字符如果不设置,默认为空格’)

  1. <?php
  2. // trim()两边删除字符
  3. // 设置一个变量,值为字符串
  4. $str = ' php.cn ';
  5. // 输出变量值初始长度
  6. echo '变量$str初始长度为:'.strlen($str). ' 个字符' , '<hr>';
  7. // 删除两边字符,默认为空格
  8. $str = trim($str);
  9. // 输出删除后的变量值长度
  10. echo '变量$str更改后的长度为:'.strlen($str). ' 个字符';
  11. echo '当前$str的值',$str , '<hr>';
  12. // 右边开始删除字符
  13. $str = rtrim($str,'cn');
  14. echo '右边删除掉\'cn\'后$str的值 ',$str ;



随机数字函数mt_rand()

  1. <?php
  2. $num = mt_rand(0,255).'<br>';
  3. echo '输出0-255之间随机数字: ' . $num . '<br>';
  4. $randColor = 'rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')';
  5. // 输出查看变量每次随机的值
  6. echo $randColor;
  7. // 输出HTML的H2标签,查看是否成功
  8. echo '<h2 style = "color:'.$randColor.'";>随机颜色</h2>';

图第一次刷新

第二次刷新

while()循环
格式:
先设置初始变量,然后
while(判断语句){
执行语句;
循环变量更新语句;

  1. <?php
  2. $i = 0;
  3. $arr1 = ['html','css','js','php'];
  4. // 设置循环判断条件,$i小于数组$arr1元素长度
  5. while($i < count($arr1)){
  6. // 设置需要执行的循环语句
  7. $return .= '<span>'.$arr1[$i].'</span>,';
  8. // 设置循环变量自加1
  9. $i++;
  10. // 执行判断条件,通过后执行循环语句,然后执行$i自加1,在重复执行以上语句,直到$i大于或者等于数组$arr1的长度,然后终止程序
  11. }
  12. // 输出最终结果,会发现右边有一个多余的逗号
  13. echo $return.'<hr>';
  14. // 使用rtrim删除左边逗号
  15. echo '删除右边多余逗号的效果'.rtrim($return,',');



do{}while()
格式:
先设置初始变量,然后
do{
执行语句;
循环变量更新语句;

while(判断语句);

  1. <?php
  2. $i = 0;
  3. $arr1 = ['html','css','js','php'];
  4. do{
  5. // 设置需要执行的循环语句
  6. $return .= '<span>'.$arr1[$i].'</span>,';
  7. // 设置循环变量自加1
  8. $i++;
  9. }
  10. // 先执行循环语句,在进行判断,就是说就算判断条件不成立,也会最少执行一次,在终止程序
  11. while($i < 0);
  12. // 输出最终结果,会发现右边有一个多余的逗号
  13. echo $return.'<hr>';



whiledo{}while()是有区别的,while会先判断条件是否成立,在根据判断结果选择执行与否,do{}while()会先执行一次,在判断条件是否成立。

foreach()循环主要是对数组的遍历,方便,语法简单。
格式:
索引数组
foreach(需要遍历的数组名 as 接收每次遍历数值的变量名){
输出语句;

  1. <?php
  2. $arr1 = ['html','css','js','php'];
  3. echo '索引数组遍历:<br>';
  4. foreach($arr1 as $value){
  5. echo "<span> $value </span>\t";
  6. }
  7. echo '<hr>';



关联数组
格式:
foreach(需要遍历的数组名 as 接收每次遍历的数组健名 =>接收每次遍历数组键值的变量名){
输出语句;

  1. <?php
  2. $arr2 = ['id'=>'100','name'=>'张飞','warrior'=>'战士'];
  3. echo '关联数组遍历:<br>';
  4. foreach($arr2 as $key => $item){
  5. echo "[$key] => $item <br>";
  6. }


分支的主要函数

单分支语句fi(){}
格式:
if(条件判断语句){
符合条件执行的语句;

  1. <?php
  2. $i = 5;
  3. if($i<6){
  4. echo '因为$i的值小于6,条件成立,输出这句话';
  5. }



双分支语句fi(){}else{}
格式:
if(条件判断语句){
符合条件执行的语句;
}else{
其他条件都执行此语句;
}

  1. <?php
  2. $grade = 59;
  3. if($grade >0 && $grade <= 59){
  4. echo '不及格';
  5. }else{
  6. echo '及格';
  7. }



改变条件后

  1. <?php
  2. $grade = 60;
  3. if($grade >0 && $grade <= 59){
  4. echo '不及格';
  5. }else{
  6. echo '及格';
  7. }



多分支语句if(){}elseif(){}else{}
格式:
if(条件判断语句){
执行语句
}elseif(第二个条件判断语句){
执行语句;
}else{
不符合以上两个条件的都执行此语句;
}

  1. <?php
  2. $grade = 100;
  3. // 设置第一个判断条件
  4. if($grade >0 && $grade <= 59){
  5. // 如果条件成立执行此语句
  6. echo '不及格';
  7. // 设置第二个判断条件
  8. }elseif($grade >= 60 && $grade <= 69){
  9. // 如果条件成立执行此语句
  10. echo '及格';
  11. // 设置第三个判断条件
  12. }elseif($grade >= 70 && $grade <= 79){
  13. // 如果条件成立执行此语句
  14. echo '需要努力';
  15. // 设置第四个判断条件
  16. }elseif($grade >= 80 && $grade <= 89){
  17. // 如果条件成立执行此语句
  18. echo '还不错';
  19. // 设置第五个判断条件
  20. }elseif($grade >= 90 && $grade <= 100){
  21. // 如果条件成立执行此语句
  22. echo '很好';
  23. }else{
  24. // 除以上条件的其他条件都执行此语句
  25. exit('输入错误的分数');
  26. }



多分支的另外一种写法switch
格式:
switch(){
case 条件语句:
执行语句;
break;
case 条件语句:
执行语句;
break;
default:
执行语句;
}

  1. <?php
  2. $grade = 0;
  3. switch(true){
  4. // 设置条件
  5. case $grade >=0 && $grade <= 59:
  6. // 条件成立输出语句
  7. echo '不及格';
  8. // 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断
  9. break;
  10. // 设置第二个条件
  11. case $grade >=60 && $grade <= 69:
  12. // 条件成立输出语句
  13. echo '及格';
  14. // 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断
  15. break;
  16. // 设置第三个条件
  17. case $grade >=70 && $grade <= 79:
  18. // 条件成立输出语句
  19. echo '需要努力';
  20. break;
  21. // 设置第四个条件
  22. case $grade >=80 && $grade <= 89:
  23. // 条件成立输出语句
  24. echo '还不错';
  25. // 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断
  26. break;
  27. // 设置第五个条件
  28. case $grade >=90 && $grade <= 100:
  29. // 条件成立输出语句
  30. echo '很好';
  31. // 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断
  32. break;
  33. // 除以上条件外都执行此语句
  34. default:
  35. exit('输入错误的分数');
  36. }



今天的循环就写到这里,没事要多复习,多看看,多写写。
最后,要听从号召,不出门添乱,宅家里,安安静静的长肉就好。希望这次疫情赶快过去,全国加油,武汉加油。

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