1、函数名的要求和规范:
函数名不区分大小写,即:调用函数foo()和函数FOO()是一样的;
2、函数的形参和实参:
(1)、声明函数时的参数,叫函数的形参,形式参数,可以理解为一个符号;
(2)、调用函数时的参数,叫函数的实参,实际传递的参数;
调用函数时候,实参的值传递给形参首先;
<?php
function 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)、如果调用函数的时候,给予了其对应参数的值,则不会使用默认参数的值,而会用对应的引用传递的值,给形势参数重新赋值;
<?php
function 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
?>