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道题”锻炼程序思维

  • 相关阅读:
    ASP.NET Web API中通过URI显示实体中的部分字段
    ASP.NET Web API中把分页信息放Header中返回给前端
    写一个针对IQueryable<T>的扩展方法支持动态排序
    Perl处理和收走子进程(退出状态码和wait)
    Perl多进程
    Perl信号处理
    大话西游之大圣娶亲中的至尊宝和紫霞仙子
    Perl List::Util模块用法详解
    Python面向对象:杂七杂八的知识点
    Python迭代和解析(5):搞懂生成器和yield机制
  • 原文地址:https://www.cnblogs.com/QiliPING9/p/9028009.html
Copyright © 2011-2022 走看看