函数的声明的语法
最简单的函数声明
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 />';
因为实参对号给形参赋值时, 后面多出来的实参,将会被舍弃掉. 没有其他副作用.
默认参数,并不能改变 实参与形参 严格按顺序赋值的原则.
想一想,怎么样才能少传一个实参,利用上默认参数?
如果参数有默认值的话,要把该参数,写到最后面
函数可以设置默认值.
有默认值参数一般后面.
如果某个有默认值的形参,对应位置传了实参
那么,实参的值 将要覆盖 默认值.
当函数调用时,系统为其申请一块独立的"调用空间"
函数体内的变量,在其独立的"调用空间内",
与外界的变量无关.
内部叫:局部变量
外部叫:全局变量