PHP 全局变量在用户自定义函数内部不可见

全局变量是定义在任何函数之外,其作用域是整个PHP文件,但在函数内部不可见,若要使其可见就需要用global 声明。

$val1 = 1;

$val2 = 2;

function test()

{

echo "start\n";

echo "val1: ".$val1."\n"; // 不可见

echo "val2: ".$val2."\n"; // 不可见

global $val2; //global声明了$val2, 使其可见

echo "声明:global val2 以后\n";

echo "val2: ".$val2."\n"; //$val2 可见了

$val2 = 100;

echo "end\n";

$val1 = 100; //只是局部变量

}

test();

echo "调用了test()以后:\nval2 = ".$val2."\n"; //$val2被test()函数改变了

echo "val1 = ".$val1."\n"; //没有被test()改变

?>

结果:

start

val1:

val2:

声明:global val2 以后

val2: 2

end

调用了test()以后:

val2 = 100

val1 = 1

php在函数中定义全局变量,PHP 全局变量在用户自定义函数内部不足见相关推荐

  1. 在JavaScript函数中定义全局变量

    是否可以在JavaScript函数中定义全局变量? 我想在其他函数中使用trailimage变量(在makeObj函数中声明). <html xmlns="http://www.w3. ...

  2. main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...

    PHP 和 JavaSript 区别_后端开发 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有函数优先的轻量级,解释型或即时编译型的高 ...

  3. 当心在Lib中定义非const全局变量

    当心在Lib中定义非const全局变量 Posted on 2011-08-15 16:33 单鱼游弋 阅读(306) 评论(0) 编辑 收藏 一般我们在全局作用域定义全局变量来进行模块间(函数之间. ...

  4. c语言 引用定义变量,如何在c语言中定义及引用全局变量?

    如何在c语言中定义及引用全局变量? 答案:5  信息版本:手机版 解决时间 2019-10-03 10:30 已解决 2019-10-02 15:19 如何在c语言中定义及引用全局变量? 最佳答案 2 ...

  5. c++语言程序中,要调用的函数必须在main()函数中定义,惠州学院C++考试复习题

    惠州学院C++复习题 一.选择题 1.C++的源文件的扩展名是_____C____. A.h B.obj C.cpp D.exe 2.下列选项能够作为C++变量名的是___C____. A.false ...

  6. C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是

    原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0.在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是不是 ...

  7. 声明一个Tree(树)类,有成员ages(树龄),成员函数grow(int years)用以对ages 加上years,showage( )用以显示tree对象的ages值。在主函数中定义Tree类对

    //声明一个Tree(树)类,有成员ages(树龄), //成员函数grow(int years)用以对ages 加上years //,showage()用以显示tree对象的ages值. //在主函 ...

  8. 算法训练 - P1101 ——有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每

    问题描述 有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输 ...

  9. db2自定义函数能返回几个参数_DB2 用户自定义函数

    用户自定义函数 DB2 内部提供了大量的函数,例如求某个字段最大值的 MAX() 函数,求某个日期所在年份的 YEAR() 函数,等等.如果在使用 DB2 的过程中,需要反复使用同一个功能,就可以把这 ...

  10. JavaScript在函数中定义全局变量

    得到的结果是: 因为在函数中 var a ,a是一个局部变量,而b,c是全局变量. var a=b=c=9 相当于 var a=9:b=9;c=9; 此时,a是局部变量,b.c 没有var声明,当全局 ...

最新文章

  1. 【随笔】“阴面”和“阳面”
  2. 光流 | 基于光流法实现视觉里程计Visual Odometry(源代码)
  3. mac的ideal终端中mvn命令不生效 commang not found
  4. 职业规划要结合用人单位需求。
  5. eclipse 下使用git clone
  6. linux搭建yum源
  7. 对计算机网络的认识论文800,对计算机的认识论文
  8. Arduino 通过双路L298N电机驱动模块控制麦克纳姆轮运动
  9. Gitbub 常用命令
  10. 远方的人 -- 龙瑜
  11. 【SSLGZ 2812】2017年10月30日提高组T2 凤凰院真凶
  12. 分享Silverlight/WPF/Windows Phone一周学习导读(11月22日-28日)
  13. 强化学习训练Chrome小恐龙Dino:最高超过4000分
  14. Duplicate keys detected “***“.This may cause can up date error,解决方案。
  15. 2023年软考信息安全工程师备考学习笔记汇总
  16. 两款案例讲解一周搭建联机游戏
  17. 【Python第25课】字符串的分割与拼接
  18. 火炬之光MOD制作工具与说明[官方MOD教学](转的)
  19. win8安装攻略【虚拟机方式】
  20. HttpClient工具类封装

热门文章

  1. 吴恩达神经网络和深度学习-学习笔记-20-训练/开发/测试集划分
  2. matlab2c使用c++实现matlab函数系列教程-log函数
  3. c#字符编码,System.Text.Encoding类,字符编码大全:如Unicode编码、GB18030、UTF-8,UTF-7,GB2312,ASCII,UTF32,Big5
  4. Vim编辑器显示行号且定义tab键为4个空格
  5. AD19调用器件封装时报错Access violation at address 0000000141A9EDD4 in module 'IntegratedLibrary.DLL'.
  6. linux ns级定时器_linux学习13,一文弄懂内核的“绝对公平调度”机制是如何设计的...
  7. mysql最大、第二、第三
  8. Cassandra 之旅 (二) Getting Started
  9. 桌面恶心的无法删除的图标之 淘宝购物 删除办法
  10. java连接oracle数据库jdbc