函数的应用
PHP的内置函数
- 数学函数
- 随机函数rand()
- 格式:int rand([int min,int max])
- 返回min到max之间随机的整数。 如未界定min和max的值,则返回0到RAND_MAX之间的随机整数
- 舍去法取整函数floor()
- 格式:float floor(float value)
- 返回不大于value的下一个整数,将value的小数部分舍去取整
- 对实数四舍五入的函数round()
- 格式:int round(float var,int precision)
- 返回将var根据指定精度precision进行四舍五入的结果。其中precision可以为负数或者零(默认值)
- 随机函数rand()
- 变量相关的函数
- 检验变量是否为空的函数empty()
- 格式:bool empty(mixed var)
- 如果var是非零或者非空的值,则empty()返回FALSE;如果var为空,则返回TRUE
- 判断变量是否定义过的函数isset()
- 格式:bool isset(mixed var[, mixed var[, … ]])
- 若变量var不存在则返回FALSE;若变量存在且其值为NULL,也返回FALSE;若变量存在且其值不为NULL,则返回TRUE。同时检查多个变量时,每个变量被检查的结果都为TRUE时,最终的结果才为TRUE,否则为FALSE
- 检验变量是否为空的函数empty()
- 自定义函数
- 定义和调用函数
-
function name_of_funcation(param1,param2,...){ //功能实现代码 }
-
- 向函数传递参数值
- 向函数传递参数引用
- 在定义声明函数时,将参数param定义为引用变量即可,即加上“&”f符号。在调用函数时,对应参数无法使用”&”符号
- 从函数中返回值
- 采用return关键字
- 引用函数
- 不管是PHP中的内置函数,还是程序员在程序中的自定义函数,都可以直接简单地通过函数名调用。但是在操作过程中也有些不同,可分为三种情况
- 如果是PHP的内置函数,如date(),可以直接调用
- 如果这个函数是PHP的某个库文件中的函数,则需要用include()或require()命令把此库文件加载,然后才能使用
- 如果是自定义函数,若与引用程序在同一个文件中,则可直接引用;若此函数不在当前文件内,则需要用include()或require()命令加载
- 对函数的引用,实际上是对函数返回值的引用
- 使用函数引用时,定义函数和引用函数都必须使用&符号,表面返回的是一个引用
- 不管是PHP中的内置函数,还是程序员在程序中的自定义函数,都可以直接简单地通过函数名调用。但是在操作过程中也有些不同,可分为三种情况
- 取消函数引用
- 对于不需要引用的函数,可以使用unset()函数来取消操作,目的是断开变量名和变量内容之间的绑定,此时并没有销毁变量的内容
- 变量函数
- 指通过变量来访问的函数。当变量后有圆括号时,PHP将自动寻找与变量的值同名的函数,然后执行该函数
- 定义和调用函数
- intdiv()函数(PHP7)
- 语法格式:intdiv(a,b);
- 该函数返回值为a除以b的值并取整
- 包含文件
- 如果想让自定义的函数被多个文件使用,可以将自定义函数组织到一个或者多个文件中,这些收集函数定义的文件就是用户自己创建的PHP函数库。通过使用require()和include()等函数可以将函数库载入到脚本程序中
- require和include
- require()和include()语句不是真正意义上的函数,属于语言结构
- require():在脚本执行前读入它包含的文件,通常在文件的开头和结尾处使用
- include():在脚本读到它的时候才将包含的文件读进来,通常在流程控制的处理区使用
- 当文件读取失败后,require将产生一个致命错误,include则产生一个警告
- include_once和require_once
- 这个两个语句在脚本执行期间包含并允许指定文件,但如果该文件的代码被包含了,则不会再次包含,只会包含一次,从而避免函数重定义以及变量重赋值等问题
- 可以在需要重复运行的代码块中使用这两个语句
程序控制结构
与Java语言大体相似(参见这篇文章)
条件控制结构
循环控制结构
- foreach循环语句
-
-
- 用于遍历数组元素,语法与Java的foreach有一些区别
-
foreach(数组 as 数组元素){ //语句 }
-
- 可以把数组分为两种情况
- 不包含键值的数组
-
foreach(数组 as 数组元素){ //语句 }
-
- 包含键值的数组
-
foreach(数组 as 键值 => 数组元素值){ //语句 }
-
- 不包含键值的数组
-
- 流程控制的另一种书写格式
- 在一个包含多条件、多循环的语句中,包含多个{},看起来比较繁琐。流程控制语句的另外一种书写方式是以“:”来代替左边的大括号,使用endif、endwhile、enfor和endswitch来代替右边的大括号,这种书写方式可以使代码的可读性增强
- 使用break/continue语句跳出循环