函数:
函数是一部分可重复执行的代码,多次执行一次编译
特点:1.减少程序运行的复杂性
2.提高程序的可靠性
3.提高软件的开发效率
4.提高程序的维护性
5.提高程序的重复性
语法:
funtion 函数名(参数1,参数2){
具体代码段......
return 返回值;
}
函数可以在定义之前调用
info("小明","北京",20);
function info($name,$city,$age){
echo "你的名字:".$name."";
echo "你的城市:".$city."";
echo "你的年龄:".$age."";
}
运行结果:
PHP中变量的作用范围
1.PHP中的global的作用是定义全局变量。
2.PHP中的unset() 销毁指定的变量。
/*
变量的作用范围
*/
$a = "Hello";
function say(){
// global 定义全局变量
global $a;
$a = "word";
// unset() 销毁指定的变量。
unset($a);
echo $a;
}
say();
echo $a;
输出为:word
PHP的静态变量
1.是在所有对函数调用中共享
2.只有在第一次调用的时候赋值
3.静态成员是一种类变量,可以把它看成时属于整个类而不是属于类的某个实例。与一般的实例变量不同的是,静态成员只保留一个变量值,而这个变量值对所有的实例都是有效的,也就是说,所有的实例共享这个成员。.
PHP中按值参数传递和按地址传递参数
PHP中的func_get_args()、func_num_args()、func_get_arg()
func_get_args():接收一个数组,数组里面包含所有参数
func_num_args(): 返回所有参数的总数
func_get_arg(整数):取得第几个参数,序号是从0开始的
function stu_name(){
print_r(func_get_args());
}
stu_name("张三","李四","王五","赵六","周七");
执行结果:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 周七 )
也可以赋值给一个数组,通过循环按照格式打印出来
function stu_name(){
$arr = func_get_args();
foreach($arr as $key=>$value){
echo "学生{$key}的名字是:".$value."";
}
echo "一共有".func_num_args()."名学生";
echo "第三个学生是:".func_get_arg(2);
}
stu_name("张三","李四","王五","赵六","周七");
运行结果:
变量函数
可以在变量后面加(),系统会查找与变量值同名的函数去执行
$show_date = "date_info";
function date_info(){
// date()按照格式打印日期
echo date("Y-m-d");
}
$show_date();
就会打印出对应的日期 : 例如2017-10-12
递归函数
在函数体内,调用本函数(调用自己),加上一个停止调用的条件,否则会陷入死循环的调用
//计算阶乘
function jc($i){
if($i>1){
// 调用自己进行递归
$s = $i*jc($i-1);
}else{
$s = $i;
}
return $s;
}
echo jc(4);
运行结果:运算的是4的阶乘 所以结果为24
内部函数
可以在函数体内,定义函数
//内部函数
function external(){
function inside(){
echo "内部函数的值";
}
// 调用内部函数
inside();
}
external();
运行结果:内部函数的值