8.1函数介绍:
说明:函数的作用在于对一个功能的封装,封装后在别的页面中引入并调用,可以节省代码量,减少冗余
8.1.1函数的定义:
Function 函数名([形参1],[形参2],[形参3],…[形参n]){
要封装到函数的代码;
Return 返回值;
}
8.1.2函数的调用
说明:直接使用需要调用的函数名就可以了
语法:函数名([实参1],[实参2],…[实参n]);
8.1.3函数的相关细节
1:函数定义时的形参不是一个具体的数值,而是需要接收“实参”的工具而已,形参必须是一个变量;
2:形参可以给默认值,且可以是多种类型的数据;
3:实参就是要给函数传递数据用的工具,可以是具体的值,也可以是变量;必须一一对应
4.函数名遵循变量的定义规则:数字,字母,下划线,且不能数字开头;
5.函数名不能重复定义;
6.Return 返回值,如果写了就会返回当前需要返回的值,如果没有写,默认返回一个真或者1,null;
7.return如何返回多个值----数组
8.返回值必须使用一个变量到函数的调用者这个位置接收
9:函数的变量称为局部变量,不能在函数外使用;
8.2函数的调用机制
代码:
说明:
1.函数的调用者把实际的数据传递给函数的形参,这个时候的形参只能在函数内使用;
2.函数在运行代码时会新建一个新的空间来运行函数内的代码;
3.运行代码后,如果有返回值,把结果返回给调用者,这个时候运行函数的这个空间释放;
8.3函数的封装
$number = isset($_GET['number'])?$_GET['number']:'';
$zhuan = isset($_GET['zhuan'])?$_GET['zhuan']:'';
$res =' ';
switch ($zhuan){
case 1:
$res=decbin("$number");
break;
case 2:
$res =bindec("$number");
break;
}
echo $res;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<from action="" >
数:<input type="text" name="number">
<select name="zhuan " id="">
<option value="1">十进制转二进制</option>
<option value="2">二进制转十进制</option>
</select>
<input type="submit" value="转换">
<input type="text" value="<?php echo $res;?>">
</from>
</body>
</html>
8.2封装的好处
封装的方式:
函数库:
调用:
8.4可变函数
说明:如果一个变量如果加上括号PHP系统解析成函数,这个变量的值
8.5:回调函数
说明:在一个函数中调用另一个函数,称为“回调”;
一般用的形式:
8.6匿名函数
说明:匿名函数就是没有名称的函数,这个时候需要用一个变量来存储函数
8.7内部函数:
说明:在一个函数内部再定义函数,这个时候里面的函数只能在函数内使用,不能在外部使用,防止外部人调用函数,这种函数方式不多,面向对象中都是这种方式。
案例:
//内部函数
function getval($n1,$n2){
//需要制作一个加法和减法
function sum($n1,$n2){
return $n1+$n2;
}
function sub($n1,$n2){
return $n1-$n2;
}
echo sum($n1,$n2);
echo "\n";
echo sub($n1,$n2);
}
getval(1,2);
8.8递归思想:
说明:在一个函数内部再次有条件用自己(当前函数),这个时候就称为“递归调用”,即自己调用自己。
代码
function abc($a){
if($a>2) {
abc(--$a);
}
echo $a;
}
abc(4);
注意:
1递归调用必须有一个可以退出的条件,否则无法退出递归调用,成为死循环;
2.在递归调用时每次都会开辟一个新栈,这些栈是没有关系的;
8.9网站布局方式:
代码实现:
1.创建目录;
2.创建配置文件;
3.实现功能----功能函数;