php函数相关(1):参数和作用域

来源:互联网 发布:淘宝uv价值越低越好吗 编辑:程序博客网 时间:2024/05/21 06:11

1、函数名的要求和规范:

     函数名不区分大小写,即:调用函数foo()和函数FOO()是一样的;


2、函数的形参和实参:

    (1)、声明函数时的参数,叫函数的形参,形式参数,可以理解为一个符号;

    (2)、调用函数时的参数,叫函数的实参,实际传递的参数;

      调用函数时候,实参的值传递给形参首先;

<?phpfunction foo($a,$b){$s = $a*$b;            // $a,$b为形式参数;return $s;} //   下面开始调用foo()函数:以及程序执行的过程;   $n = 5; $m = 3;  echo foo($n,$m); //   调用函数foo(),并且传值给形参;   /*****  执行过程: echo foo($n,$m){    // 首先在内存中开辟一块新的空间,执行此函数;    $a = $n;   // 传值,把实参的(值),传递给形参;   $b = $m;    $s = $a*$b;            ;   return $s;      } *******/?>

3、函数的默认参数:

   (1)、即函数声明的时候给设置了一个默认的值;

   (2)、如果调用函数的时候,没有给予其对应参数的值,则会使用默认的值进行执行运算;

   (3)、如果调用函数的时候,给予了其对应参数的值,则不会使用默认参数的值,而会用对应的引用传递的值,给形势参数重新赋值;

<?phpfunction boo($x = 18,$y,$z){$k = 2*$x+3*$y+$z;echo $k;}        boo(1,3,7)   //18;  在调用函数的时候,首先吧 1 的值赋给$x(替换了默认的值18,不在使用);3 的值赋给$y;7 的值赋给$z;boo(1,3);    // 错误的,此时函数调用的时候,还是把 1的值赋给了$x,3的值赋给了$y,而$z则没有给予赋值;; 所以会报错在调用函数的时候;/*********若想在调用函数的时候,使用默认的参数,即:在实参数量少于形参的时候,默认参数起到作用;则应在声明的时候,把默认参数放到最后;即:function boo($x,$y,$z=18){$k = 2*$x+3*$y+$z;echo $k;}boo(1,3);   // 此时的话,则能正确运行;1 赋给$x,3赋给$y,$z则用默认的18;*********/?>



4、函数的作用域:

    (1)、每执行调用一次函数,都会在内存中开辟一块独立的空间,当执行调用完后,此内存空间则自动释放,当再次执行调用的时候,则再重新开辟新的内存空间运行;

    (2)、调用函数的时候,函数内部的变量,和函数外的变量,没有一点关系,(内次调用,新开辟独立的空间地址);


<?php function faa(){$age = 19;$age += 1;echo $age;}faa();   // 20;       函数调用执行完后,则会自动释放空间内存;    faa();   //20;    每次调用函数,都是一个新的开始,全新的开始;faa();   //20     ?>




原创粉丝点击