php中global和static两个关键字详解,有需要的朋友可参考一下。
1.global在整个页面起作用。
2.static只在function和class内起作用。
global和$GLOBALS使用基本相同,但在实际开发中大不相同。
global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一但改变了别名变量的指向地址,就会发生一些意料不到情况,例如例子1.
实例
代码如下 | 复制代码 |
// 比较global、GLOBALS、static echo '------------------ function test2() { $m = 0; echo 'm:', $m, ' echo '------------------ static $x = 0; test4(); 结果如下: i:1 |
代码如下
|
复制代码 |
// 比较global、GLOBALS、static |
'; echo 'k:', $k, '
'; } test1(); test1(); echo 'i:', $i, '
'; echo 'k:', $k, '
'; echo '------------------
'; function test2() { global $k; static $i = 0; echo 'i:', $i, '
'; echo 'k:', $k, '
'; } test2(); test2(); echo 'i:', $i, '
'; echo 'k:', $k, '
'; $m = 0; $n = 0; function test3() { global $m; echo 'm:', $m , '
'; echo 'n:', $GLOBALS['n'] , '
'; unset($m, $GLOBALS['n']); } echo '------------------
'; test3(); echo 'm:', $m, '
'; echo 'n:', $n, '
'; echo '------------------
'; static $x = 0; function test4() { echo 'x:', $x , '
'; } test4(); 结果如下: i:1 k:1 i:2 k:2 i: k:2 ------------------ i:1 k:3 i:2 k:4 i: k:4 ------------------ m:0 n:0 m:1 n: ------------------ x: global关键字如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用 static就是表示静态。所谓的静态,其实是在function或者class内部而言的。function中static的变量,在funciton执行完之后,不会消失,可以在下次执行的时候继续使用

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)