zoukankan      html  css  js  c++  java
  • PHP-循环结构-数组(难)

    今日目标:

    (1)循环结构 —— do..while.. —— 掌握

    (2)循环结构 —— for —— 重点

    (3)数组 —— 重点

    1.PHP的循环结构 —— do..while...

      do:  做,执行     while:当...的时候

      do...while... 执行XXXX操作YYYY的时候。

    while

    do...while

    $i = 0;

    while( $i<5 ){

      echo '※';

      $i++;

    }

    $i = 0;

    do{

      echo '※';

      $i++;

    }while( $i<5 );

    先判定再执行

    先执行再判定

    $i = 10;

    while( $i<5 ){

      echo '※';

      $i++;

    }

    $i = 10;

    do{

      echo '※';

      $i++;

    }while( $i<5 );

    while的主体可能执行0~N次

    do...while的主体执行1~N次

    结论:while和do...while一般情况下执行效果完全一样;仅在第一次都不能执行时有细微的差别——while至少执行一次

    练习使用do..while输出10个Hello

    练习使用do..while输出1/2/3/...100

    练习使用do..while输出2/4/6/...98

    练习使用do..while输出90/80/70/...10

    练习使用do..while循环计算出1+2+3+4+...100的累加和,输出该整数和

    练习使用do..while循环计算出1*2*3*4*...10的累乘积,输出该乘积

    .......

    2.PHP的循环结构——for循环 —— 最重点

      for: “为了”最常用的循环结构

      for( 语句1;  语句2;  语句3 ){

    #循环主体

      }

      (1)语句1在整个循环开始之前执行,且仅执行一次——一般是循环变量的初始化语句

      (2)语句2在每次主体执行之前执行,是一个判定语句true时执行主体false时退出循环——循环条件语句

      (3)语句3每次主体执行之后执行——循环变量的改变

      (4)语句1和3中可以是用逗号分隔的多个语句

    $i = 0;

    while( $i<5 ){

      echo '※';

      $i++;

    }

    for($i = 0;  $i<5;  $i++){

       echo '※';

    }

    结论:while和for的功能完全一样!只是for看起来更加紧凑。

    练习1)输出10个Hello

    练习2)输出2000/2001/2002/....2999

    练习3)输出95/90/85/....5

    --------------------------------------------

    练习4):使用for计算出1+2+3+4+...100的累加和,输出该整数和

    练习5):使用for计算出1*2*3*4*...10的累乘积,输出该乘积

    练习6):使用for循环计算出90/5 + 80/10 + 70/15 + 60/20 + 50/25的和,输出该

    --------------------------------------------

    练习7):输出1个※

    练习8):输出10个※,最后再加1<br>

      提示:把练习7循环执行10次

    练习9):输出5行10列

      提示:把练习8循环执行5  —— 循环的嵌套

    练习10):输出

      ※

      ※※

      ※※※

      ※※※※

      ※※※※※

    ---------------------------------------------------------

    难题练习11)输出本世纪(2000~2100)所有的闰年

    2000 吗? 是就输出;

    2001 吗? 是就输出;

    ...

    2100 吗? 是就输出;

    提示:在for循环中嵌入if判断

    难题!!练习12)输出所有的三位水仙花数”—— 一个三位数字,百位的立方 + 十位的立方 + 立方 === 数本身 

    1*1*1 + 5*5*5 + 3*3*3  === 153

    思路:只能逐个去试

    100吗?是就输出;

    101吗?是就输出;

    ...

    999吗?是就输出;

    $i是水仙花数先取出个位、十位、百位的数字再判定是否满足水仙花数条件满足的就输出

    难题!练习12)输出所有的四位水仙花数

    难题!!!!!练习13)输出100以内所有的质数

    for循环的变种:

    for($i = 0;  $i<5;  $i++){

       echo '※';

    }

    $i = 0;

    for(  ;  $i<5;  $i++){     #语句1可以为空白,分号不能少

       echo '※';

    }

    $i = 0;

    for(  ;  $i<5;  ){     #语句3可以为空白

       echo '※';

       $i++ ;

    }

    $i = 0;

    for(  ;  ;  ){     #语句2可以为空白,等同于 for( ; true; ){  }

       echo '※';

       $i++ ;

    }

    3.与循环相关的两个PHP关键字

      continue:继续

      如果在循环中出现continue,表示跳过此次循环后续的代码,继续执行下一次循环。

      示例:输出1/2/3/4/6/7/8/9/11/12/13/14/16...99

      for($i=1; $i<100; $i++){

      if($i%5===0){

    continue;

        }

        echo  $i;

      }

      练习:输出1+2+5+7+10+11+13+14+17.......98

      提示:计算累加和,跳过所有能被3或4整除的数

      break:打断

      break可用于switch..case..表示打断不执行switch中剩余的case代码;还能用于循环,表示打断整个循环,不再继续执行调到循环外面

      示例

      for($i=1; $i<100; $i++){

      if($i%5===0){

    break;

        }

        echo  $i;

      }   #只能输出: 1/2/3/4  

      练习计算1*2*3*4*...*100的累乘积,要求如果中间$chengJi超过21747483647,立即终止执行输出此时的乘积值,以及$i

    难题!!! 练习:输出本世纪所有的闰年,输出够10个不再输出。

    while(  true  ){

      #让用户猜系统产生的随机数

      if( 猜中 ){

          break;

      }

    }

    4.PHP的数据类型 —— 数组类型

      PHP中如何保存1个员工的年龄:  $age = 20;

      PHP中如何保存100员工的年龄:  

    $age1 = 20;  

    $age2 = 22;  

        $age3 = 31;   

    $age4 = 19;

    .....

      保存批量的数据不会创建批量的变量!而使用数组变量

      array:数组,数据的组合/集合

      创建一个数组:

    $数组变量名 = [ ];    #数组

    $数组变量名 = [ , , ,  ];    

    原生值类型:一个变量只能存一个数据

    复合类型中的数组类型:一个变量可以存储任意多个数据

      查看数组中内容:

    echo  $数组变量名;    #错误!

    var_dump($数组变量名); #正确!!

      获取数组数据个数(数组长度)

    echo  count($数组);

      操作数组中的某个数据:

    echo  $数组数据下标 ] ; #输出某个数据

    $数组数据的下标 ] = ; #修改某个数据

    练习:创建一个数组,保存5个员工的工资

    练习:创建一个数组,保存4个用户用户名

    练习:创建一个数组,保存6个用户当前是否在线

    结论:数组中可以存储任意类型的数据。

    课后练习:

    (1)创建一个数组,保存8个学生的考试成绩,使用for循环输出所有的数据元素

    (2)使用for循环为上述数组中的每个考试成绩+5分。

    (3)使用for循环输出修改后的所有数组元素。

    ------------------------------------------------------------

    难题输出所有的四位水仙花数

    难题!!!!输出100以内所有的质数

    余力的学员继续完成程序员必做的50道题”锻炼程序思维

  • 相关阅读:
    html 上传图片前预览
    php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
    php 计算 pdf文件页数
    php 获取半年内每个月的订单数量, 总价, 月份
    php 获取两个数组之间不同的值
    小程序支付功能
    关于nginx的Job for nginx.service failed because the control process exited with error code.错误
    linux 安装 Apollo
    MongoDB待续。。。
    ABP vNext...待续
  • 原文地址:https://www.cnblogs.com/QiliPING9/p/9028012.html
Copyright © 2011-2022 走看看