细说PHP(五)

5.1 函数的定义

  • 函数有唯一的名称
  • 函数是独立的
  • 函数执行特定的任务
  • 函数可以将一个返回值返回给调用它的程序

5.2 自定义函数

5.2.1 函数的声明

function 函数名 ([参数1,参数2...参数n])
{
	函数体;
	return 返回值;
}

5.2.2 函数的调用

  • 通过函数名调用函数
  • 如果函数有参数列表,还可以通过函数名后面的圆括号传入对应的值
  • 如果函数有返回值,当函数执行完毕会将return后面的值返回到调用函数的位置处

5.2.3 函数的参数

  • 参数列表由零个、一个或多个参数组成
  • 每个参数是一个表达式,用逗号分隔
  • 实参与形参需要按顺序对应传递数据

5.2.4 函数的返回值

  • return语句可以向函数调用者返回函数体重任意确定的值
  • 将程序控制权返回到调用者的作用域,即退出函数。
  • 在函数体中执行了return语句,它后面的语句就不会再执行

5.3 PHP变量的范围

5.3.1 局部变量

  • 局部变量也称为内部变量,是在函数内部声明的变量,其作用域仅限于函数内部

5.3.2 全局变量

  • 全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾
  • 局部变量会覆盖全局变量,因此在函数中无法直接调用全局变量

5.4 声明及应用各种形式的PHP函数

5.4.1 常规参数的函数

string example(string name,int age,double height)			//常规参数的函数格式说明

5.4.2 伪类型参数的函数

mixed funName(mixed $args)			//在参数列表中出现类型使用mixed描述的参数
mixed funName(number $args)			//在参数列表中出现类型使用number描述的参数

5.4.3 引用参数的函数

void funName(array &args)			//在参数列表中出现使用&描述的参数

5.4.4 默认参数的函数

函数支持为参数指定一个默认值,在调用函数时如果没有指定参数的值,在函数中会使用参数的默认值。默认值必须是常量表达式

mixed funName(string name [,string value [,int expire]])

5.4.5 可变个数参数的函数

默认参数适合实参个数少于形参的情况,而可变参数列表则适合实参个数多于形参的情况。如果在函数中使用不到多传入的参数则没有意义。

<?php
	/**
		声明一个函数more_args(),用于打印参数列表的值
		虽然没有声明参数列表,但可以传入任意个数,任意类型的参数值
	**/
	function more_args(){
		$args = func_get_args();							//将所有传递给脚本函数的参数当做一个数组返回
		for($i=0;$i<count($args);$i++){
			echo "第".$i."个参数是".$args[$i]."<br>";
		}
	}
	more_args("one","two","three",1,2,3);

5.4.6 回调函数

回调函数格式如下所示:

mixed funName(callback arg)			//在参数列表中使用伪类型callback描述

1.变量函数

变量函数也称为可变函数,如果一个变量名后有圆括号,PHP将寻找与变量的值同名的函数,并尝试执行它。

<?php
	function one($a,$b){
	return $a+$b;
	}

	$result = "one";
	$result(2,3);				//将调用one函数,返回5

2.使用变量函数声明和应用回调函数

如果要自定义一个可以回调的函数,可以选择使用变量函数帮助实现。在定义回调函数时,函数的声明结构是没有变化的,只是声明的参数是一个普通变量即可。但在函数的内部应用这个参数变量是,如果加上圆括号,就可以调用到和这个参数值同名的函数了。

<?php
	function filter($fun){
		for($i=0;$i<100;$i++){
			//将参数变量fun加上一个圆括号,则为调用和变量$fun值同名的函数
			if($fun(i))
				continue;
		}
	}

	function one($num){
		return $num%3 == 0;
	}

	filter("one");

5.5 使用自定义函数库

  • 通常将多个自定义的函数组织到同一个文件或多个文件中,这些手机函数定义的文件就是创建的PHP函数库
  • 要使用这些定义的函数,就需要使用include(),include_once(),requie()或require_once()中的一个函数,将函数库文件载入到脚本程序中
  • requiece()和include()是语言结构,不是真正的函数
  • requiece()和include()性能相类似,不同之处在于include()在执行文件时每次都要进行读取和评估;而require()语句,则只对文件处理一次(实际上,文件内容替换了require()语句)
  • include_once()和requirce_once()语句也是在脚本执行期间包括并允许指定文件,与 requiece()和include()类似,使用方法相同。唯一区别是如果该文件的代码已经被包括了,则不会再次包括
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
申明:本资源来源于互联网,如有侵权,请联系本人或者CSDN进行删除,谢谢!细说PHP》开发Web应用程序PHP是最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。《细说PHP》以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂。系统地介绍了PHP的相关技术及其在实际Web开发中的应用。 《细说PHP》共17章,每一章都是PHP独立知识点的总结。内容涵盖了PHP的运行环境搭建、Web服务器Apache的配置与应用、动态网站开发的前台技术、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP 5面向对象的程序设计思想、Web开发的设计模式,以及包含DIV+CSS、mysqli扩展模块、数据库抽象层PDO、Smarty模板技术等目前PHP开发中最主流的技术。每一章中都有大量的实用示例,以及详尽的注释,加速读者的理解和学习,也为每章的技术点设置了大量的自测试题。最后以一个比较完整的、采用面向对象思想,以及通过MVC模式设计,并结合Smarty模板的CMS系统为案例,详细介绍了Web系统开发从设计到部署的各个细节,更好地进行开发实践。 申明:本资源来源于互联网,如有侵权,请联系本人或者CSDN进行删除,谢谢!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值