PHP常见循环例题
程序员文章站
2022-03-18 16:33:15
以下的每道题都没有固定的写法,可以使看的人更好的理解 1.通过for循环将数组中值求和、求平均值 2.数组的翻转 3.遍历二维数组 4.循环输出1-100,其中3的倍数输出A,5的倍数输出B,15输出C 5.打印水仙花数 6.打印100以内的斐波那契数(迭代法) ......
以下的每道题都没有固定的写法,可以使看的人更好的理解
1.通过for循环将数组中值求和、求平均值
<?php //1、求数组的和、平均值 $num=[1,20,53,23,14,12,15]; $sum=0; for($i=0,$n=count($num);$i<$n;$i++){ $sum+=$num[$i]; } echo '和是:'.$sum,'<br>'; //和是:138 echo '平均值:'.number_format($sum/count($num),1); //精确到小数点后面1位 平均值:19.7 echo '<hr>';
2.数组的翻转
$stu=['tom','berry','ketty','rose','jake']; for($i=0,$j=count($stu)-1;$i<$j;$i++,$j--){ [$stu[$i],$stu[$j]]=[$stu[$j],$stu[$i]]; //元素交换 } print_r($stu); //array ( [0] => jake [1] => rose [2] => ketty [3] => berry [4] => tom )
3.遍历二维数组
$stu=[ [1,2,3,4], [10,20,30,40] ]; for($i=0;$i<count($stu);$i++){ //循环第一列 for($j=0;$j<count($stu[$i]);$j++){ //循环第二列 echo $stu[$i][$j],' '; } echo '<br>'; } //运行结果 1 2 3 4 10 20 30 40
4.循环输出1-100,其中3的倍数输出a,5的倍数输出b,15输出c
for($i=1; $i<=100; $i++) { if($i%15==0) //先写%15,,因为可以%15的值一定可以%3和%5 echo 'c'; elseif($i%3==0) echo 'a'; elseif($i%5==0) echo 'b'; else echo $i; echo ' '; }
5.
for($i=100;$i<=999;$i++){ $a=(int)($i/100); //百位数 $b=(int)(($i%100)/10); //十位数 $c=$i%10; //个位数 if($i==pow($a,3)+pow($b,3)+pow($c,3)) echo $i,'<br>'; } //pow($a,3) 表示$a的三次方 //运行结果 153 370 371 407
6.打印100以内的斐波那契数(迭代法)
$num1=1; //第一个数 $num2=1; //第二个数 echo $num1,' ',$num2,' '; while(true){ $num3=$num1+$num2; //第三个数是前面两个数的和 if($num3>100) //超过100就终止循环 break; echo $num3,' '; $num1=$num2; //将$num2移给$num1 $num2=$num3; //将$num3移给$num2 } //1 1 2 3 5 8 13 21 34 55 89