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('输入错误的分数');
}
图
今天的循环就写到这里,没事要多复习,多看看,多写写。
最后,要听从号召,不出门添乱,宅家里,安安静静的长肉就好。希望这次疫情赶快过去,全国加油,武汉加油。