PHP学习笔记三、函数

一、自定义函数

1、格式

funciton 函数名(参数1,参数2,参数3...){
	处理逻辑;
}

2、函数命名要求
(1)、不能以系统函数名或关键字重名。
(2)、不能以数字和特殊字符开头,只能是大小写英文字母和下划线开头。
(3)、不能在函数名中包含空格或特殊字符。
3、参数
(1)、可以*定义参数的数量,没有限制。
(2)、带有初始值的参数,在没有被赋值的时候,将使用其初始值。
(3)、带初始值的参数,一般放在最后面。
3、函数的引用传值("&")

<?php
$a=20;
funciton fun(&$a){//形参
	$a=$a*$a;
}
fun($a);//实参
echo $a;//输出:400;不加"&"输出:20。
?>

4、递归函数(自己调自己)
阶乘

<?php
funciton fun($a){
	if($a==1){
		return 1;
	}
	else{
		return $a*fun($a-1);
	}
}
echo fun(5);
?>

5、嵌套 (在一个函数里面调用其他函数)

<?php
function fun($a,$b,$c){
	include($a);
	include($b);
	include($c);
}
echo fun("./a.php","./b.php","./c.php");
?>

二、系统函数

字符串函数数组函数文件函数等
1、文件引入函数:Include函数和Require函数。(一般用来引入公用资源) 。
区别
(1)、报错
Include如果报错会给出提示,后续代码继续运行。
Require如果报错会给出提示,并停止运行后续代码。
(2)、条件引用【以前的版本有这个问题,为了兼容性,Require最好放在文件头部】
Include是有条件包含函数,放在文件的任意位置。
Require是无条件包含函数,放在文件的头部。
(3)、文件引用方式
Include执行时需要引用的文件每次都要进行读取和评估。
Require执行时需要引用的文件只处理一次。

三、练习

九九乘法表

<!--九九乘法表
string fun_99(int $start=1,int $end=9,bool $sort=true);
$start 表示起始数 1-9 整数
$end 表示结束值 1-9 整数
$sort 表示排序 true:正序,false:倒序
 -->
<?php
function fun_99($start=1,$end=9,$sort=true){
if ($start<1||$start>9) {
	return '$start 必须要在1-9之间';
}
if ($end<1||$end>9) {
	return '$end 必须要在1-9之间';
}
if ($end<$start) {
	return '$start 必须要小于$end';
}
if ($start!=(int)$start||$end!=(int)$end) {
	return '$start 和$end 必须是整数';
}
$str="";
if ($sort==true) {
	for ($i=$start; $i < =$end; $i++) { 
		for ($j=1; $j <=$i ; $j++) { 
			$str.=$i."*".$j."=".$i*$j."nbsp;";
		}
		$str.="<br/>";
	}
}
else{
	for ($i=$end; $i >=$start; $i--) { 
		for ($j=1; $j <=$i ; $j++) { 
			$str.=$i."*".$j."=".$i*$j."nbsp;";
		}
		$str.="<br/>";
	}
}
return $str;
}
echo fun_99();
?>