定义:我们常常把具有某个功能的代码块,给写到函数里
作用:提高程序的可读性,可扩展性,可重用性
声明一个函数(目前我所知道的所有语言的函数声明都一样):
例:function demo(){}
声明准则:
函数的名称应该提示出它的功能
函数名称以字母或下划线开头(不能以数字开头)
如何使用别人写好的函数?
函数的使用技巧:
1.查看函数功能描述
2.查看函数的参数
3.查看函数的返回值
php的函数与c,java等强类型语言相比的优势:
1. 因值决定类型,所以函数的参数没有类型限制,这一点使用函数的传参变的非常灵活
例如:一个实现四则运算的函数,php只需要一个函数就能实现,java则要通过四个相同函数重载来实现。
php:
function operation($a,$b,$oper) { switch($oper) { case '+': return $a + $b; case '-': return $a - $b; case '/': return $a / $b; case '*': return $a / $b; } }
java:
function operation(int a, int b, string oper) { switch(oper) { case '+': return a + b; case '-': return a - b; case '/': return a / b; case '*': return a / b; } } function operation(float a, float b, string oper) { switch(oper) { case '+': return a + b; case '-': return a - b; case '/': return a / b; case '*': return a / b; } } function operation(float a, int b, string oper) { switch(oper) { case '+': return a + b; case '-': return a - b; case '/': return a / b; case '*': return a / b; } } function operation(int a, float b, string oper) { switch(oper) { case '+': return a + b; case '-': return a - b; case '/': return a / b; case '*': return a / b; } }
注意:php如果声明相同的函数就会报错
2.函数参数可变(这一点让php的函数变得异常强大)
2.1)通过指定默认参数可以使实参 < 形参
例:
function demo($a,$b,$oper='+') { return $a $oper $b; } demo(1,2);
2.2)通过系统函数func_get_args()返回的数组来获取传入的实参
例:
function demo() { $num = func_get_args(); $sum = 0; for($i = 0;$i < $num; $i ++) { $sum += $num[$i]; } return $sum; } demo(1,2,3); demo(1,2,3,4,5);