php函数(二)

(五)变量作用域

通常说的作用域,有2种

局部作用域:只能在所定义的函数范围内使用

全局作用域:在函数的“外部”范围使用

   Php中,局部和全局作用域不重叠,即局部不能使用全局的变量,全局不能使用局部的变量(内部与外部的变量名可以重复,互不影响)

   Js中,全局变量包括局部作用域

但还有两种:

超全局:函数内外都可以使用(只有系统内部预定义的几个,不能自己创建)

静态局部作用域(static):也是局部,数据能够在函数退出后仍然保持不丢失。

局部访问全局的特定语法

1.在局部范围内,使用global关键字对全局变量进行一次声明,就可以使用了

语法:global $变量名;

实际上,函数中的global语句,创建了一个与外部变量同名的局部变量,并通过“引用”的方式指向外部变量的数据区

2.在函数中,使用$GLOBALS超全局数组来引用全局变量

用$GLOBALS超全局数组作用:用于存储所有全局变量的数据:变量名为下标,变量值为对应元素值

示例:在函数中写:$v1=$GLOBALS[‘v1’];就可调用全局变量v1

使用$GLOBALS操作全局变量,是直接操作,不是引用操作,如果unset该对应元素,则全局变量也被unset

3.使用$GLOBALS创建一个新的元素,可以创建全局变量。如: $GLOBALS[‘v2’]=10;

全局访问局部的特定语法

1.通过引用传递的方式向形参传递一个引用实参变量(函数的引用传递)

2.使用函数的引用返回形式(引用传递方式返回数据)

3.函数中使用global关键字来首次引用一个全局变量,则函数结束后在全局范围内可以使用该变量


(六)有关函数的系统函数

function_exists();//判断某个函数是否被定义过,返回布尔值

示例:if(function_exists(“func1”)==false){

function func1(){}

}

func_get_args();//获得一个函数所接收到的所有实参数据,结果是一个数组

func_get_arg(n);//获得一个函数所接收到的第n个实参数据(n从0开始)

func_num_args();//获得一个函数所接收到的所有实参数据的个数

 

七)函数相关编程思想

递归思想(递归函数):在一个函数中,有至少一条语句,又会去调用该函数自身

 要有递归函数的出口,即停止调用

总结:为了解决一个大问题,根据现实逻辑,该问题可以通过比它小一级的同类问题的答案而“轻松得到”。小一级的问题又可通过更小一级的问题而轻松得到,依次类推—直到最小问题,通常就是一个已知数(答案)。(由大到小,再到大)

举例:求某个数的阶乘

递推思想(迭代思想):由小到大(推荐使用,效率比递归要高)

举例:求斐波那契数列(某项的值是前两项的值的和)的第n项的值


(八)常用内部函数

字符串函数

时间函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值