批改状态:合格
老师批语:特殊时期, 也正好有时间好好学习... 你才写到这里, 看来是落下了不少课
for()循环
格式:
for(设置初始循环变量;判断条件;初始循环变量更新;){
执行语句;
}
例:
<?php// 设置一个数组$arr1 = ['html','css','js','php'];// 设置初始变量$i为0,每次循环判断条件为$i<数组元素长度,更新循环变量条件为$i++(表示为每次循环i自动加1)for($i = 0;$i < count($arr1);$i++){// 循环输出$arr1里面的元素直到$i>数组元素长度时终止echo $arr1[$i].'<br>';}
图1
图2
上面使用了一个count()函数,它主要是获取到数组的长度(元素个数)。
格式:
count(需要测量的数组名)
例
<?php// 设置一个数组$arr1 = ['html','css','js','php'];// count获取数组元素的个数(长度)echo '数组元素的长度: '. count($arr1). ' 个元素';
图
类似的还有strlen(),它是获取字符串的长度
格式
strlen(‘字符串’ | 字符串变量名)
例
<?php$str = 'php.cn';echo '字符串的长度为:'.strlen($str). ' 个字符';
图
字符串的删减相关函数trim()从字符串两边开始删除,ltrim()从字符串的左边开始删除,rtrim()从字符串的右边开始删除。
格式 trim(变量名,‘需要删除的字符如果不设置,默认为空格’),rtrim(变量名,‘需要删除的字符如果不设置,默认为空格’),ltrim(变量名,‘需要删除的字符如果不设置,默认为空格’)
例
<?php// trim()两边删除字符// 设置一个变量,值为字符串$str = ' php.cn ';// 输出变量值初始长度echo '变量$str初始长度为:'.strlen($str). ' 个字符' , '<hr>';// 删除两边字符,默认为空格$str = trim($str);// 输出删除后的变量值长度echo '变量$str更改后的长度为:'.strlen($str). ' 个字符';echo '当前$str的值',$str , '<hr>';// 右边开始删除字符$str = rtrim($str,'cn');echo '右边删除掉\'cn\'后$str的值 ',$str ;
图
随机数字函数mt_rand()
例
<?php$num = mt_rand(0,255).'<br>';echo '输出0-255之间随机数字: ' . $num . '<br>';$randColor = 'rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')';// 输出查看变量每次随机的值echo $randColor;// 输出HTML的H2标签,查看是否成功echo '<h2 style = "color:'.$randColor.'";>随机颜色</h2>';
图第一次刷新
第二次刷新
while()循环
格式:
先设置初始变量,然后
while(判断语句){
执行语句;
循环变量更新语句;
}
例
<?php$i = 0;$arr1 = ['html','css','js','php'];// 设置循环判断条件,$i小于数组$arr1元素长度while($i < count($arr1)){// 设置需要执行的循环语句$return .= '<span>'.$arr1[$i].'</span>,';// 设置循环变量自加1$i++;// 执行判断条件,通过后执行循环语句,然后执行$i自加1,在重复执行以上语句,直到$i大于或者等于数组$arr1的长度,然后终止程序}// 输出最终结果,会发现右边有一个多余的逗号echo $return.'<hr>';// 使用rtrim删除左边逗号echo '删除右边多余逗号的效果'.rtrim($return,',');
图
do{}while()
格式:
先设置初始变量,然后
do{
执行语句;
循环变量更新语句;
}
while(判断语句);
例
<?php$i = 0;$arr1 = ['html','css','js','php'];do{// 设置需要执行的循环语句$return .= '<span>'.$arr1[$i].'</span>,';// 设置循环变量自加1$i++;}// 先执行循环语句,在进行判断,就是说就算判断条件不成立,也会最少执行一次,在终止程序while($i < 0);// 输出最终结果,会发现右边有一个多余的逗号echo $return.'<hr>';
图
while与do{}while()是有区别的,while会先判断条件是否成立,在根据判断结果选择执行与否,do{}while()会先执行一次,在判断条件是否成立。
foreach()循环主要是对数组的遍历,方便,语法简单。
格式:
索引数组
foreach(需要遍历的数组名 as 接收每次遍历数值的变量名){
输出语句;
}
例
<?php$arr1 = ['html','css','js','php'];echo '索引数组遍历:<br>';foreach($arr1 as $value){echo "<span> $value </span>\t";}echo '<hr>';
图
关联数组
格式:
foreach(需要遍历的数组名 as 接收每次遍历的数组健名 =>接收每次遍历数组键值的变量名){
输出语句;
}
例
<?php$arr2 = ['id'=>'100','name'=>'张飞','warrior'=>'战士'];echo '关联数组遍历:<br>';foreach($arr2 as $key => $item){echo "[$key] => $item <br>";}
图
单分支语句fi(){}
格式:
if(条件判断语句){
符合条件执行的语句;
}
例
<?php$i = 5;if($i<6){echo '因为$i的值小于6,条件成立,输出这句话';}
图
双分支语句fi(){}else{}
格式:
if(条件判断语句){
符合条件执行的语句;
}else{
其他条件都执行此语句;
}
例
<?php$grade = 59;if($grade >0 && $grade <= 59){echo '不及格';}else{echo '及格';}
图
改变条件后
<?php$grade = 60;if($grade >0 && $grade <= 59){echo '不及格';}else{echo '及格';}
图
多分支语句if(){}elseif(){}else{}
格式:
if(条件判断语句){
执行语句
}elseif(第二个条件判断语句){
执行语句;
}else{
不符合以上两个条件的都执行此语句;
}
例
<?php$grade = 100;// 设置第一个判断条件if($grade >0 && $grade <= 59){// 如果条件成立执行此语句echo '不及格';// 设置第二个判断条件}elseif($grade >= 60 && $grade <= 69){// 如果条件成立执行此语句echo '及格';// 设置第三个判断条件}elseif($grade >= 70 && $grade <= 79){// 如果条件成立执行此语句echo '需要努力';// 设置第四个判断条件}elseif($grade >= 80 && $grade <= 89){// 如果条件成立执行此语句echo '还不错';// 设置第五个判断条件}elseif($grade >= 90 && $grade <= 100){// 如果条件成立执行此语句echo '很好';}else{// 除以上条件的其他条件都执行此语句exit('输入错误的分数');}
图
多分支的另外一种写法switch
格式:
switch(){
case 条件语句:
执行语句;
break;
case 条件语句:
执行语句;
break;
default:
执行语句;
}
例
<?php$grade = 0;switch(true){// 设置条件case $grade >=0 && $grade <= 59:// 条件成立输出语句echo '不及格';// 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断break;// 设置第二个条件case $grade >=60 && $grade <= 69:// 条件成立输出语句echo '及格';// 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断break;// 设置第三个条件case $grade >=70 && $grade <= 79:// 条件成立输出语句echo '需要努力';break;// 设置第四个条件case $grade >=80 && $grade <= 89:// 条件成立输出语句echo '还不错';// 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断break;// 设置第五个条件case $grade >=90 && $grade <= 100:// 条件成立输出语句echo '很好';// 如果此条件成立执行到这里结束,如果不成立进行下一个条件判断break;// 除以上条件外都执行此语句default:exit('输入错误的分数');}
图
今天的循环就写到这里,没事要多复习,多看看,多写写。
最后,要听从号召,不出门添乱,宅家里,安安静静的长肉就好。希望这次疫情赶快过去,全国加油,武汉加油。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号