zoukankan      html  css  js  c++  java
  • 函数的特性

    形参,实参,默认值,强类型参数,可变函数的参数列表,值传递和引用传递。变量的作用域,static静态变量。

    形参&实参:在定义的函数中,指定的参数如果没有调用,并不占用内存空间,只有发生调用时,函数的形参才会被分配内存空间,在调用结束后,形参所占用的内存单元是会被释放掉的。

    从php7.1开始,如果函数的形参没有默认值,而实参少于形参,那么程序就会被报一个致命的错误,并且终止程序的运行。如果实参大于形参数目,程序依然执行,并且截取和形参相同的数目,并且按顺序赋值给形参。

    强类型参数:

    declare( strict_types = 1);// 实参必须是函数形参指定的类型,否则则报错

    函数可变数量的参数列表:

    function ( . . . $nums){

    }

    函数值传递与引用传递

    求阶乘:

    function factorial($num){
                   $ret = 1;
                   for($i = 1;$i<= $num;$i++){
                   $ret *= $i;//$ret = $i*$ret;
    }   
            return $ret;  
    }

    值传递其实是一种单项传递 只能由实参传递给形参而不能由实参传递给形参。在内存中实参单元与形参单元是不同的单元,在调用函数时,会给形参分配一个内存空间,在调用结束后,形参单元会被释放,实参单元仍然保留,并且维持原来的值。

     变量的作用域:

    变量范围与生命周期:

    局部变量

    1 当前页面中声明的普通变量,不能在函数中或类中起作用

    2 当前页面中声明的普通变量,不能被传递到其他页面

    3 在函数中声明的普通变量,在函数内部有效

    4 在类中声明的属性,在类的内部有效

    全部变量

    对于php而言,在页面中生产的变量都是全局变量,在整个页面都是有效的,但是不能被函数或类中的方法访问

    如果想被函数或类中的方法访问,我们就有了超全局变量

    php自定义的超全局变量,$_GET,$_POST,$_COOKIE,$_SERVER,$_FILES,$_ENV,$_REQUEST,$_SESSION

    静态变量

    仅仅在函数局部域中存在,当程序执行完,离开这个域,它的值并没有丢失。

  • 相关阅读:
    假期第五天
    假期第四天
    假期第三天
    假期第二天
    假期第一天
    《如何高效学习》读书笔记六
    十天冲刺-第八天
    十天冲刺第七天
    十天冲刺-第六天
    十天冲刺-第五天
  • 原文地址:https://www.cnblogs.com/aln0825/p/10879074.html
Copyright © 2011-2022 走看看