Blogger Information
Blog 30
fans 0
comment 1
visits 24083
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0108循环与分支
Original
419 people have browsed it

循环的主要函数

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. }



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

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:特殊时期, 也正好有时间好好学习... 你才写到这里, 看来是落下了不少课
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post