心美,一切皆美

人生的弓,拉得太满人会疲惫,拉得不满人会掉队,我们要学会张弛有度

【辅导】Task07 掌握PHP函数编写 主要知识点

1、函数的定义

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

与Java相比,除了在语法上有些区别以外(弱类型),其它没有什么区别。

函数的返回值类型由return语句的表达式确定。

【思考1】如果函数内没有return语句,或者有一条没有表达式的return语句,那么函数的返回值是什么?

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

【思考2】函数的定义放在什么位置?

(1) 如果与调用函数的语句在一个文件中,放在这个文件中的任意位置都可以,保持结构完整和独立就可以。

(2)如果函数单独放在独立的php文件中,需要在使用函数前使用require或include语句把这个文件包含进来。

require functionfile.php;

【思考3】理解什么是形参,什么是实参?

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

形参必然是变量,是该函数的局部变量。实参可以是表达式,也可以是变量,但有时必须是变量(当函数参数定义为变量的引用时)。在函数调用时,会进行由实参的数据类型向形参的数据类型转换的过程(即数据类型以形参为准)

2、函数的默认参数

PHP不支持函数的重载(函数名相同但参数不同)

默认参数,就是当函数调用时,如果不给参数赋值,用程序员定义的默认值代替。(相当于函数重载时,参数的个数不同了)

默认参数,只能自右向左依次定义为默认参数。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

3、函数的变长参数

变长参数,就是用数组变量(形参)来接受不确定个数的参数列表(实参)。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

变长参数必须是最右边的参数。

…运算符,除了在用于定义变长参数为,还可以用来将数组转换为列表:

$nums = array(10,20,30,40,50);

echo sum(…$nums);

4、函数的引用参数

同C、Java一样,调用函数时,形参获得实参的一个拷贝,是独立的存储空间(栈中分配)。不同的是,PHP中,不管是基本类型(标量类型)还是字符串、数组、类对象,都是拷贝。

要使形参和实参(必须是变量)共用存储空间,参数必须定义为引用

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

5、可变函数和匿名函数

函数也是一种类型(复合类型callable)。另两种复合类型是array和object。

因此可以将函数名(字符串)赋值给变量,通过变量来调用函数。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

如果是给变量赋值或作为另一函数实参时,临时使用的函数,这个临时定义时,可以不给函数起名字,称为匿名函数。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

6、变量的作用域

在程序中(函数外)定义的变量,虽然是全局变量,但函数内部还不能使用,必须先用global关键字声明。如$int1。或者使用$GLOBALS数组

也可以在函数内部定义全局变量。如$int2。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

函数内定义的静态变量(static),意见同C、Java一样,初始化值赋值后,再次调用该函数时不再初始化,保持上一次调用时该变量的值。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

7、文件包含

一个php文件中,要引入另一个php文件的代码,可以用下面语句中的一个来将另一个php文件包含进来。所以,我们常将函数库或类代码放在独立的php文件中,需要的时候包含进来。

 《【辅导】Task07 掌握PHP函数编写 主要知识点》

8、常用数学函数

请注意熟悉如round,ceil,floor等取整函数,max,min等统计函数,进制转换函数,sin,cos,exp等数值计算函数,M_PI,M_E等预定义常量的使用

PHP 5 Math函数请参阅:

http://www.runoob.com/php/php-ref-math.html

9、常用日期函数

PHP没有日期/时间函数,使用Unix时间戳(1970-1-1 00:00:00以来的秒数)来记录时间。所以使用整数来表示时间。

要正确设置php的时区。

$time0 = 1583889120;

$time1 = mktime(9,30,0,3,11,2020);

$time2 = time()+24*60*60;

$time3 = strtotime(“+1 days”,time());

输出日期时间时,用date函数进行格式化。常用Y-m-d H:i:s

echo date(“Y-m-d H:i:s”,$time2);

格式字符串参见:http://php.net/manual/zh/function.date.php

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注