在看高手写的代码的时候,经常可以看到static与global,这两个关键字有什么用呢
static,翻译为“静态”
global,翻译为“全局”
static是用来申明一个静态变量,常用于含有循环计算的语句中,比如for
- <?php
- function index(){
- static $phphubei = 0; //初始化静态变量
- $phphubei+=1;
- echo $phphubei.' ';
- }
- for($i=1;$i<10;$i++){
- index();
- }
- //输出 1-10
- //如果不加static,输出10个1,因为循环执行的时候,每次都是从0开始加1,而无法保存
- ?>
在一个页面中,往往通过$申请一个全局变量在任何地方引用,但是在function中须要使用global申明引用,否则就会报错
- <?php
- $phphubei='1';
- function index(){
- echo $phphubei;
- }
- index();
- //上述语句会报错:Notice: Undefined variable: phphubei in D:\windowsoft\wamp\www\Gbook\1.php on line 4
- ?>
正确的写法为
- <?php
- $phphubei='1';
- function index(){
- global $phphubei;
- echo $phphubei;
- }
- index();
- //输出1
- ?>
转载于:https://blog.51cto.com/jinse/596695