欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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],'&nbsp;';
    }
    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 '&nbsp;';
}

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,'&nbsp;',$num2,'&nbsp;';
while(true){
    $num3=$num1+$num2;   //第三个数是前面两个数的和
    if($num3>100)         //超过100就终止循环
        break;
    echo $num3,'&nbsp;';
    $num1=$num2;        //将$num2移给$num1
    $num2=$num3;        //将$num3移给$num2
}
//1 1 2 3 5 8 13 21 34 55 89