标签:地址 函数名 需要 运算符 引用传递 bsp 形参和实参 参与 脚本
php函数
php函数和JScript的函数大同小异,这里主要强调一下不同之处。
函数的定义:function函数名(形参类表){
函数体
}
函数的调用:函数名(实参类表)
在php里函数可以先调用然后再写函数的定义的代码,因为脚本的在执行之前会进行一次预编译,预编译后函数的定义代码已经放置在内存中的用户代码区,而执行的时候,直接在用户代码区里找。
可变函数
指函数名也可以用一个变量来代替!可变函数常用于一组功能比较类似,而且函数名也比较类似的情况。
形参和实参
形式参数parameter:是在定义函数的时候规定的,但是这里的参数只是一个形式,默认是没有值的。
实际参数argument:是在调用函数的时候需要把实际的值(实参)传递给该函数的形参,这个时候,函数的形参才有真正的数据!
参数的引用传递:需要在传递的时候加上求地址运算符&,&应该放在形参前面;
形参的默认值:可以给它一个默认值,参数的默认值,应该是一个确定的直接值,不能是一个变量或其他函数返回值!也不能是参与运算的值!如果实参有传值给形参,那么就会覆盖形参的值,变成 实参的值。
下面的函数可以接收到参数的所有值:
func_get_args():调用该函数的时候,可以得到一个索引数组,里面的元素是当前函数接收到的所有的实参的值!
func_get_arg() : 获得某个参数的值,使用参数的索引位置来表示,从0开始,比如func_get_arg(1)
func_num_args() :获得实参的数量!
变量的作用域:
局部作用域:在一个函数内部定义的变量,其作用范围就是局部作用域,该变量也叫作局部变量!
全局作用域:在函数外部定义的变量,其作用范围就是全局作用域,该变量也叫作全局变量,但是PHP中的全局作用域与JS中的全局作用域是不一样的!
全局作用域与局部作用域互不干涉,不能相互访问!
每个函数也都有自己的局部作用域,函数直接的变量也无法互相访问!
所以就要用到超全局变量了
超全局变量
$GLOBALS[‘变量名‘]=‘变量值’
超全局变量是系统定义好的,作用范围是全局,变量的类型是数组类型。
$GLOBALS数组的每一个元素,都与当前的每一个全局变量是一一对应的,也就是说,每当用户创建一个全局变量,都会自动的在$GLOBALS数组里面增加一个元素,其中元素的键(索引值)就是全局变量的名字,元素的值就是全局变量的值!每当增加一个$GLOBALS数组的一个元素,就会自动的创建一个全局变量!
php也有运算符除了常见的这里介绍其他的运算符
clone:克隆一个对象
new:是实例化一个对象
@:错误抑制符,抑制系统错误信息!很多时候,我们要抑制系统的错误信息,因为不友好,然后再加上一些用户的友好的提示信息!
instanceof:也是和面向对象相关的,作用是判断一个对象是否为一个类的实例!
标签:地址 函数名 需要 运算符 引用传递 bsp 形参和实参 参与 脚本
原文地址:http://www.cnblogs.com/huuangrui/p/6081713.html