博主信息
博文 16
粉丝 0
评论 2
访问量 16117
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
变量的作用域--2018年4月13日23点49分
Alan_繁华
原创
952人浏览过

变量的作用域:脚本中变量可被引用/使用的范
   1、全局作用域:函数之外创建的:全局变量可以被脚本的任何位置访问,但在函数内部访问全局变量要使用global关键字
   2、局部作用域:函数内创建的
   3、静态作用域:函数内创建的仅在函数中使用,仅被赋值一次:当一个函数调用完后,它的所有变量都会被删除,如果想要某个局部变量不被删除,那么可以使用static关键字

实例

<?php
echo '<h3>全局作用域和局部作用域</h3>';
echo '<hr>';
$siteName = 'PHP中文网';
$globalVar = '<span style="color: red">这是$GLOBALS调用全局变量;</span>';
//$GLOBALS['siteName'] 等同于 $siteName 的内容,但$GLOBALS['siteName']可在函数内直接使用,不需要global $siteName
function test(){
    $test = '这是局部变量';
//    echo $siteName; 在函数内部访问全局变量,要使用global关键字
    global $siteName;
    echo "使用\$GLOBALS['globalVar']调用全局变量:".$GLOBALS['globalVar'].'<br>';
    echo '这是在函数内部调用全局变量:'.$siteName;
    echo "<br>";
    echo '这是在函数内声明的变量:'.$test;
    echo "<br>";
}
test();

echo '<h3>静态作用域</h3>';
echo '<hr>';

function staticFun(){
    $i = 1;
    return $i;
    $i++;
}
echo '第一次调用:'.staticFun().'<br>';
echo '第二次调用:'.staticFun().'<br>';
echo '第三次调用:'.staticFun().'<br>';
//staticFun()中的返回值没有发生任何变化,也就是说每次都被赋值一次,使用完后变量被删除,如果要解决这个问题,我们需要使用static关键字
function staticFun2(){
    static $j = 0;
    $j++;
    return $j;

}
echo '第一次调用:'.staticFun2().'<br>';
echo '第二次调用:'.staticFun2().'<br>';
echo '第三次调用:'.staticFun2().'<br>';
//通过输出结果可以看出,staticFun2()函数每次被调用后,$j的值没有被删除,而是被保留了下来,下次调用时直接使用了之前的值

echo '<h3>超级全局变量:是系统预定义的,用户无需声明即可使用</h3>';
echo '<hr>';
echo '超全局变量有很多,比如:$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUEST$_ENV等等'.'<br>';
echo '当前执行脚本的文件名:'.$_SERVER['PHP_SELF'].'<br>';
echo '当前请求头中 User-Agent:'.$_SERVER['HTTP_USER_AGENT'].'<br>';
echo '当前运行脚本所在的服务器的主机名:'.$_SERVER['SERVER_NAME'].'<br>';
echo '当前运行脚本所在的文档根目录:'.$_SERVER['DOCUMENT_ROOT'].'<br>';
echo '访问页面使用的请求方法:'.$_SERVER['REQUEST_METHOD'].'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学