函数的声明的语法

最简单的函数声明
function foo() { //没有参数
}

也可以带有参数
function foo($arg1,$arg2,$arg3) { // 可以有1个或N个参数

    return 值;// 可以return 值,也可以不return
}

函数的命名规范


和变量一样,以字母数字下划线组合而成,但数字不能开头.
但是 不区分大小写
以后学到的面向对象时, 方法(理解成函数),也不区分大小写.

声明函数时,的参数---> 叫形式上的参数, 形参
调用函数时,的参数---> 叫实际传递的参数,实参.


说白了:
形参在函数体内提供?? -->变量名
实参在函数体内提供?? -->值

在调用的过程中,
 实参,形参,从左到右,严格的逐一对应.[对号入座]
一一对应上,然后实参值,挨个儿赋给形参.

 

如果实参少于形参,没对应上
echo foo(1,2); // warning警告,并尽量往下执行.

 

如果实参多于形参,

echo foo(1,2,3,4,5,6,7),'<br />';
因为实参对号给形参赋值时, 后面多出来的实参,将会被舍弃掉. 没有其他副作用.

默认参数,并不能改变 实参与形参 严格按顺序赋值的原则.

想一想,怎么样才能少传一个实参,利用上默认参数?
如果参数有默认值的话,要把该参数,写到最后面

函数可以设置默认值.

有默认值参数一般后面.

如果某个有默认值的形参,对应位置传了实参
那么,实参的值 将要覆盖 默认值.

当函数调用时,系统为其申请一块独立的"调用空间"
函数体内的变量,在其独立的"调用空间内",
与外界的变量无关.

内部叫:局部变量
外部叫:全局变量