php变量是否存在
㈠ php 刷新页面 全局变量还存在吗
首先你要搞清楚,什么是全局变量?什么是局部变量?
局部变量:
局部变量只是仅仅在函数和类中有效的变量(除非是全局化后的变量,类没有全局化)
全局变量:
在整个文档中(这一个PHP文件中)的普通变量,就是全局变量。但是全局变量和局部变量是分开的。也就是全局变量无法影响到函数和类中(除非global,全局化。类没有全局概念。)
全局变量和局部变量的共同是程序执行完成后自动销毁。
所以不存在。
----------
还有第三种变量,叫做“超全局变量”
意思在多个文档(php文件)中互相传递的
比如:$_POST $_GET $_COOKIES $_SESSION
都是超全局变量
他们在特定情况下刷新不会消失(比如COOKIES ,生成以后,只要不超过有效时间或者你清理了COOKIE以外,变量不会消失。)
㈡ php中isset()&&!empty()与empty()有什么区别
empty()关注的是变量是否为空,其判断前提强调变量内容在判断之前最好没有值。在这一假设下,empty的内涵易于理解。变量不存在,当然没有值;变量存在但未初始化,或为NULL,满足没有值的要求;变量存在,不为NULL,值为零、空字符串、布尔false等,同样满足没有值的要求,表示变量从归零开始。empty涉及变量是否存在、是否未初始化或含有表示起点的值,这三个维度层次分明。
而isset关注的是变量是否已设置一个有意义的值,特别是维度3。判断旨在后续操作时,确认变量中是否有一个有意义的值。变量不存在或存在为NULL时,无意义,返回FALSE;变量存在,不为NULL,即使值为起点值如0或空字符串,表示工作可以开展,返回TRUE。因此,!empty强调变量内容为非起点值,而isset强调内容为起点值且有意义。
简而言之,isset() && !empty()的内涵实质由!empty()决定,但建议在!empty之前使用isset,以先排除变量不存在或未初始化的情况,再强调变量内容的非起点值。总结起来,不存在、NULL、起点值、非起点值对应empty的empty、empty、empty、!empty,以及!isset、!isset、isset、isset。
明确指出,empty关注变量是否开始运营,值非起点值时,才具备业务意义。因此,使用isset() && !empty()理解为业务条件具备--isset?如果具备,那么业务是否已开始运营了?--!empty()。至于为何没有单独检查原点值的函数,原因在于此检查与isset、empty、is_null分属不同层次,is_null从技术角度避免程序崩溃,empty、isset则从平台业务角度避免业务失效,而检查原点值涉及具体业务场景,分支情况太多,不会导致业务失效。
㈢ 求大神指导 php 如何判断数据库字段值是否为空(null) 让代码执行相应的操作
bool empty ( mixed $var )
判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
再配上一个if语句就好了
㈣ 谁知道PHP中静态变量是什么意思急!
静态变量,简单的说,就是一种在特定范围内一直存在的变量,你可以把全局变量当作一种静态变量,它的值在代码运行期间一直存在。
通常来说,静态局部变量大多用于特殊场合里,比如,当在某函数中,希望每次运行函数时,都使用上次函数的结果,此时除使用全局变量外,就可以使用静态变量。
以下是关于静态局部变量特点的一些资料说明:
1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。
2.静态局部变量只会初始化一次。
3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。
PHP里,定义静态变量使用static 进行修饰。比如
static$avar=0;