• PHP流程控制(二)


    布尔型循环就是为真的时候执行,为假的时候停止

    注意:
    1.循环能够节约大量的代码,提高重用性质
    2.循环,一定要有退出条件。
    3.While循环中,在while循环之前必须对变量进行初始化;

    单层循环:语法结构

    While(bool判断){                                                                                                        
        Echo '要循环的代码';  //可以是一条语句,也可以是多条语句;                                                                 
    }
    <?php
    $a=0; //对变量初始化设置
    while($a<3){
      echo:'今天天气真好<br>';
      echo $a++;
    }
    
    ?>

    多层循环:语法结构

    While(bool判断)
    {     
    while(bool判断){
    第二层循环的代码;
    }                                                                                                   
        第一层要循环的代码;                                                              
    }

    注意:
    在循环里再套循环。一般循环,不会超过二层。


    使用while双层循环输出一个10行10列的表格:

    <?php 
    $i=0
    echo '<>table border="1" width="800">';
    while ($i<10) {
            if($i%2!=0){
                    echo '<tr bgcolor="#898989">';
            }else{
                    echo '<tr>';
              
            }
            $j=0;
            while ($j<10) {
                    echo '<td>'.$j.'</td>';
                    $j++;
            }
            echo '</tr>';
            $i++            
    }
    
    echo '</table>';
    
     ?>

    使用while单层循环输出一个10行10列的表格:

    <?php 
    echo '<table border="1" width="800">';
    $i=0;
    while ($i<100) {                  //这里要为100才可以
            if ($i%10==0) {
              if ($i%20!=0) {         //也可以写if($i/10%2!=0)
                echo '<tr bgcolor="#898989">';    //隔行变色
              }else {
                echo '<tr>';
              }
      }
                echo '<td>'.$i.'</td>';
              if ($i%10==9) {       //这里要是19、29、39、49....99的时候输出<tr>
                echo '</tr>';
              }
              $i++;
    }
    echo '</table>';
     ?>

    do { } while { }循环:

    <?php 
    $i=0;
    do {
      echo '需要可执行代码';
    } while ($i<10);
     ?>

    语法注意:
    do while和while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正则的while循环主要的区别是do while的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正则的while循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为False则整个循环立刻终止)。

    计数器循环

    例子1:初始化变量

    <?php
    
    for ($i = 1; $i <= 10; $i++) {
        echo $i;
    }
    ?>

    例子2:退出条件

    <?php
    for ($i = 1; ; $i++) {
        if ($i > 10) {
            break;
        }
        echo $i;
    }
      ?>

    例子3:循环添加,自增自减等

    <?php
    $i = 1;
    for (;;) {
        if ($i > 10) {
            break;
        }
        echo $i;
        $i++;
    }
    ?>

    例子4:

    <?php
    for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
    ?>

    当然,第一个例子看上去最正常(或者第四个),但用户可能会发现在 for 循环中用空的表达式在很多场合下会很方便。

    语法:

    每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE)。

    使用循环遍历数组:

    $arr[$i]:获得数组中对应键的值
    count() - 计算数组中的单元数目或对象中的属性个数

    $arr=array(1,2,3,4,5,6,7,8,9,);
    echo count($arr); //统计数组中的元素的个数

    扩展:

    PHP是它是解释型语言,它的效率相对较低。对于循环时的count每次都会count这样的话,效率很低。
    我们可以将,统计到的数值,直接赋值给一个变量,判断这个变量就可以了,减少统计次数。
    提前 $j 到前面

    for($i=0,$j=count($aray);$i<$j;$i++){
      echo '金融跟每个人相关'.$array[$i].'<br>';
    }
    <?php 
    $arr=array("张三","李四");
    
    for ($i=0; $j=count($arr);$i<$j;$i++){
      echo $arr[$i].'<br>';
      
    }
    
     ?>

    【重点】使用循环遍历目录

    首先需要掌握的函数有:
    opendir — 打开开一个目录,返回一个资源类型,如果成功则返回目录句柄的 resource,失败则返回 FALSE 并且报错 使用@抑错
    Is_dir — 判断给定的文件名是否是一个目录;
    Closedir — 关闭目录,传入一个打开的目录资源
    Readdir — 【 NOTICE:填入一个已经用opendir打开的文件目录资源】

    传进一个目录资源,返回打开的目录名称,读一次向下移动一次,读到目录的最后一个文件后,返回false
    Count — 可以统计数组当中的元素个数【此函数的别名:sizeof() 】
     
    例子:

    <?php 
    $dir='c:xmzncc';
    $tkp=opendir($dir);
    var_dump($tkp);
    
    while ($filename=readdir($tkp)) {
      echo $filename.'<br>';
    
    }
    closedir($tkp);
     ?>


    函数分为:自定义函数及系统函数

    自定函数的基本语法格式:

     <?php
     function 名字(参数1[=值],参数2[=值],…..参数n[=值]){
      做事情的代码
      
      //return ;
     }
    
    ?>

    命名函数需要注意的事项:

    1.名字不能重复,不能重名。
    2.函数就是一条狗,不叫它名字,它不执行。
    3.函数不要重名,即使是系统函数
    4.函数不能以数字开始,数字可以接到中间和结尾
    5.不能接特殊符号,下划线除外
    6.函数在命名的时候,只有数字,字母,下划线
    7.函数名不区分大小写
    8.函数可以在任意位置调用【注意】

    函数里return和echo的区别:
    在函数里面,echo一个值仅仅会输出,调用函数的时候,输出的值不会赋值给变量$a
    Return 是将return 后面的值,返回到调用处。

    例子:

    <?php
    function seven(){
    
         echo '夏末终年';
    
    }
    $a=seven();
    var_dump($a);
    ?>

    注释:
    $a=seven( ) //这里的函数是echo一个值的作用仅仅是输出 函数里echo 后的代码

    这是 函数没有返回值 只有一个功能 输出的值不能赋给变量 var_dump($a) 为空; NULL

    (Return 后的值会返回调用处)此时值可以赋给变量 ,此时$a变量的值和类型由return 返回的值得类型决定 。

    函数的形参及实参:

    <?php
    Function  demo( $one , $two ){  //$one 及 $two 为形参
    
     return $one+$two;
    }
    
    $t= demo  ( 8, 9 );    //传入的 8 和 9为实参 并把函数 计算 8+9的值赋给$t
    ?>

    注意:
    1.如果调用一个函数的时候,函数当中有形参,形参当中没有默认值,你就必须要传实参,否则报错。
    2.神马叫形参当中木有默认值?
    3.如果形参有默认值,并且在实参当中没有传参数,就按照默认值来执行。如果加上了实参,就按照实参来执行。

    注意:
    由于它一一对应的关系,由于它的语法特性,不能将有默认值的用逗号直接跳过去。因此,我们在写的时候,将有默认值的放到后面,无默认值的形参放到前面。

  • 相关阅读:
    Windows Php Apache Phpstorm VS Code
    cygwin学习
    Linux链表理解
    gcc和arm-linux-gcc默认头文件库搜索路径
    测试DOS命令
    字符二维数组char[][]与char**(转)
    浅谈 C++ 中的 new/delete 和 new[]/delete[] (转)
    Linux抢占式调度简介(转)
    USB中的端点详细了解(转)
    QT窗口组件的父子关系
  • 原文地址:https://www.cnblogs.com/xmzncc/p/5814910.html
Copyright © 2020-2023  润新知