5.1 函数
原则上只要有两个地方需要调用相同的一段代码,就需要把这段代码封装成函数。函数可以大大提高编程的效率。编写函数需要做到一个函数只实现一个功能。例如,getAge($name)函数,就只实现根据名字获取年龄就可以。切忌一个函数实现多个功能,这样复用的效率就很低。
5.2 函数可以带一个参数,也可以带多个参数,也可以不带参数。可以带返回值,也可以不带返回值。所以函数的格式是灵活和多样化的,可以方便的实现各种功能。
5.2.1 不带参数不带返回值的函数格式
用户定义的函数声明以关键字 “function” 开头
语法:
function functionName() {
被执行的代码;
}
例如:
function howsWeather() {
echo "Good day!!";
}
5.2 不带参数,带返回值的
语法:
function functionName() {
被执行的代码;
返回值;
}
例如:
function getWeather() {
return "Good day!!";
}
5.3 不带参数,带返回值的
函数可以带多个参数,中间用","分隔。
语法:
function functionName($var1, $var2) {
被执行的代码;
}
例如:
function plusNumber($numA, $numB) {
//两个输入的参数求和
$numC = $numA + $numB;
return $numC;
}
5.4 指定参数的默认值
如果函数指定了默认值,在函数调用的时候没有传递参数,则调用默认值。
语法:
function functionName($var1=默认值) {
被执行的代码;
}
例如:
<?php
function plusOneToNum($numA=10) {
$i = 0;
$total = 0;
for($i=0; $i<=$numA; $i++)
{
$total += $i;
}
return $total;
}
//没有传参数,则使用默认参数,输出55
echo plusOneToNum();
//计算1+2+...+20的值,输出210
echo plusOneToNum(20);
?>
5.5 作业
5.5.1 写一个函数,输入参数为$n, 返回 12345…*n
<?php
// 写一个函数实现从 1-n的乘积
function m($n){
$m = 1;
for($i=1;$i<=$n;$i++){
$m *= $i;
}
return $m;
}
echo "使用普通函数计算得 ".m(10);
echo "<br/>";
// 使用递归的方法
function d($n){
if($n==1 || $n==0){
return 1;
}
return $n * d($n-1);
}
echo "使用递归函数计算得 ".d(10);
?>
5.5.2 写一个函数,输入两个字符串$str1, $str2。然后返回两个字符串拼接的结果。
<?php
function concatStr($str1,$str2){
return $str1.$str2;
}
echo concatStr("Ken ",'is good, 哈哈皮');
?>