美文网首页
9月23-函数

9月23-函数

作者: W凯 | 来源:发表于2016-10-28 10:23 被阅读0次

    函数

    函数定义:
    完成指定任务的功能代码块,是一个已经命名的。
    function 函数名([参数1,参数2...])
    {
    函数体(语句)
    [return 返回值;]
    }
    使用: 函数名([参数])
    注意: 变量要先定义赋值,才可以输出,但函数的定义和使用不分先后顺序。

    <?php
    //定义一个求累加的函数,要求参数一个:表示要累加的值,返回求和后的结果
    function doSum($m){
      $sum=0;
      for($i=0;$i<=$m;$i++)
      {
        $sum+=$i;
      }
      return $sum;
    }
      doSum(10);
      doSum(20);
    

    判断函数是否存在:
    funciton_exists("函数名");
    返回true或false。

    认识一个函数从三个方面:

    1. 函数的功能
    2. 参数的类型,是否可选
    3. 返回值

    变量的作用域

    • 函数的划分
      • 全局变量
      • 局部变量
      • 静态变量
    1. 全局变量:
      在函数外定义变量
      作用域:在函数外和函数内都可以看到的,并可以使用的变量
      注意:在函数内使用函数外的变量要使用 global 关键字先声明一下。
    <?php
    $a=10;
    $b=20;
    function fun(){
        global $a;//尝试使用外部的全局变量
        echo $a;//输出变量a的值为10
        echo $b;//输出变量b的值,结果没有(因为没有使用global)
        $a=100;
    }
      fun();//调用函数fun
    
    
    1. 局部变量:
      在函数内定义的变量,特点只在函数内有效,我们可以使用return将值返回。
    <?php
      //定义一个函数
      function fun(){
        $a=100;//函数内定义变量
        echo $a;//输出变量a的值100
      }
      fun();//调用函数fun
      echo $a;//没有输出,在函数内定义的变量,在函数外是无法使用的
    ?>
    
    1. 静态变量:
      在函数内使用static关键字定义的变量
    <?php
    //变量作用域:静态变量的使用
    function fun(){
      static $i=0;//在当前脚本中连续多次调用本函数的,依然有效,里边的静态声明(初始化)值执行一次。
      $i++;
      echo $i."\n";
    }
      fun();//1
      fun();//2
      fun();//3
      fun();//4
    

    函数声明及应用各种形式的PHP函数

    普通参数的函数:

    常规参数的函数格式:

    <?php
      string example(string name,int age,double height)
    

    所谓的常规参数的函数,就是函数中参数的类型为php的普通数据类型。
    求字串长度:
    int strlen(string $string)
    传入string字串类型,返回int类型

    伪类型参数的函数:

    mixed funName(mixed $a, number $b, callback $c)
    伪类型参数的函数就是参数中的类型是以下三种伪类型的。
    三种伪类型: mixed(多种类型)、number(int,double) 和 callback(函数)。

    引用参数的函数:

    void funName(array &args)
    使用&符来实现引用传递,就是将参数直接给给函数使用。(起别名)假如函数内容发生改变,会使当前参数也发生改变。
    注意:调用引用参数时,必须使用变量,不可以直接用值。
    如:fun($x); 不可以使用fun(10);
    在定义函数时的参数是使用&标识的参数;

    <?php
      /*计算两个数和的参数
      *@param int $x, int $y, int $z
      *@return 计算的两个数的和
      */
    function myadd($x,$y,&$z){
                        $z=$x+$y;
                    }
                    $a=10;
                    $b=20;
                    $sum=0;
                    myadd($a,$b,$sum);//调用函数myadd,将前两个参数的和赋给第三个参数
                    echo $sum; //30
    
    默认值参数函数:

    在定义函数时,将部分参数提前附上初始值。当被调用时没有给这参数传值,就会采用默认值,以保障函数正常使用。要求默认值从参数的右边开始。

    可变长度参数列表的函数:

    此函数的参数个数任意个。

    <?php
    func_get_args();//以数组的方式返回所有的参数信息
    func_get_arg($index);//获取指定参数位置(index:从0开始的整数)的信息
    func_num_args();//获取参数的个数
    
    <?php
    //可变长度参数列表
    function dosum(){
        //echo "参数的个数".func_num_args()."\n";
        //echo "某个参数的值".func_get_arg(4)."\n";
        $sum=0;
        for($i=0;$i<func_num_args,$i++)
        {
          echo func_get_arg($i);
          $sum+=func_get_arg($i);
        }
        echo  "\n";
        echo "共计".$sum;
    }
    
    dosum(10,20,50,60,300,100,20);
    

    变量函数

    调用函数使用的不是直接的函数名,而是一个变量

    <?php
      $name="add";
      $name(10,20);//等价于add(10,20);
    

    可变变量:

    $a=10;
    $b="a";
    echo $$b."\n";//输出为10
    

    可变函数:

    <?php
      function aa()
    {
      echo "1111111111111111\n";
    }
      function bb()
    {
      echo "22222222222222\n";
    }
      $name ="aa";
      echo $name;//输出aa();
      $name="bb";
      echo $name;//输出bb();
    

    导入另外文件

    导入:

    • include('…')
      失败产生一个Warring(适合导入不重要文件)
    • require('…')
      失败导致一个 Fatal Error(适合导入重要文件)
    自定义函数库
    1. 定义一些常用的函数存放在一个php文件中,如: functions.php
    2. 在我们要使用函数的php文件中使用:
      include或require导入函数库文件后即可使用。
      如:include("functions.php"); 或require("functions.php");
      include('……');
      require('……');
    使用系统函数
    <?php
    file_get_contents()//将整个文件读入一个字符串
    file_put_contents//将一个字符串写入一个文件
    

    相关文章

      网友评论

          本文标题:9月23-函数

          本文链接:https://www.haomeiwen.com/subject/zrzsuttx.html