PHP小知识温馨篇(2)

2.1 empty,isset,is_null的区别

  isset()用来检测一个变量是否已声明且值不为NULL。换句话说,只能在变量值不是NULL时返回真值

  empty()用来检测一个变量是否为空,也就是说当有如下情况时返回真值:空字符串,false,空数组,NULL,0,' ',以及被unset()删除后的变量

  is_null()用来判断变量内容是否是NULL,即返回真值的条件仅为变量是NULL。所以可以看出is_null()是isset()的反函数,但在用法上有所区别。isset()可以应用到未知变量,但is_null()只能针对已声明变量

2.2 变量作用域

  全局变量:定义之后,在脚本任何位置都可以存取访问。

  局部变量:定义在函数或类的方法中的变量,只能在其中存取访问。

  这样就有了一些规则,函数外部无法访问局部变量,而函数内部不允许访问全局变量。当添加global关键字后,在函数内部可访问外部全局变量。

  PHP的“全局”不是指整个网站,而是应用于当前页面,包括include或require的全部文件。

补充:超级全局数组(super global array),由PHP内置。$GLOBALS[],这里又得区别一下global关键字和$GLOBALS[]数组的区别了。

  $GLOBALS[]是外部的全局变量本身,global $var 是外部$var的同名引用或指针。

2.3 活用静态变量

  PHP脚本函数内部创建的局部变量,执行时是存在的,当执行完毕后会在内存里立即删除,再次运行时会重新创建。这样的优点:确保函数每次执行时完独立的,一面混乱。

  但如果需要我们需要在函数调用时保存上次函数执行的结果,以便下次执行时使用,这时就是可以用静态变量来实现。

  声明一个静态变量只需在变量前声明关键字static,并初始化一个值。原理是在PHP中,如果方法中使用了静态变量,那么它在销毁之前只会初始化一次,所以结果可以累加,不再是每一次调用都进行初始化。当脚本运行完毕退出时,静态变量也会销毁,这一点和全局,局部变量特性相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值