很多站长朋友们都不太清楚php变量生存期,今天小编就来给大家整理php变量生存期,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP常量有用吗?可以用变量替代常量吗?定义一个字符串赋给一个变量不再改变不就行了吗? 2、 PHP如何修改session的生存时间 3、 关于php变量生命周期的 问题 4、 php 如何让一个变量长期存在 5、 php 怎么查看一个全局变量是什么时候保存的? PHP常量有用吗?可以用变量替代常量吗?定义一个字符串赋给一个变量不再改变不就行了吗?(1)静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。
(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
(3)允许对构造类静态局部量赋初值。若未赋以初值,则由系统自动赋值。数值型变量自动赋初值0,字符型变量赋空字符。
(4)对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。 根据静态局部变量的特点, 可以看出它是一种生存期为整个源文件的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。 因此,当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。
PHP如何修改session的生存时间>其实Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用:<?php// 保存一天 $lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start();
关于php变量生命周期的 问题变量的生命周期 是跟函数有关的。跟if这样的逻辑词没有任何关系的。
全局变量生命周期是知道php执行完,类里面的变量声明周期是到类销毁,函数中的变量周期是函数结束。
php 如何让一个变量长期存在1、PHP程序结束了,变量当然就会销毁。如果你要变量活下去,那就得给他一个地方活着。
数据库是一个地方,memcache/redis之类的内存是一个地方,硬盘是一个地方,第三方存储API也是一个地方。
2、因为PHP木有daemon,PHP变量的生命周期是页面级别的,页面结束了,变量也就结束了,保存在redis或者memcached。
php 怎么查看一个全局变量是什么时候保存的?$GLOBALS — 引用全局作用域中可用的全部变量 (官方说明)
说明:
一个包含了全部变量的全局组合 数组 。变量的名字就是数组的键。
所以按照你的需求它是没有办法满足你的,换个思路吧,比如nosql数据库(radis,memcache)就可以满足你的需求了。
关于php变量生存期的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php变量生存期 php变量底层实现的详细内容...