PHP在设计的时候已经预定义了9个超级全局变量、8个魔术变量和13魔术函数,这些变量和函数可以在脚本的任何地方不用声明就可以使用。 在PHP开发会频繁的使用这些变量和函数,这些变量和函数可以方便的帮我们解决很多问题。下面详细的讲解下PHP中的超级全局变量、魔术变量和魔术函数。

PHP超级全局变量(9个)

$GLOBALS:储存全局作用域中的变量

$_SERVER:获取服务器相关信息

$_REQUEST:获取POST和GET请求的参数

$_POST:获取表单的POST请求参数

$_GET:获取表单的GET请求参数

$_FILES:获取上传文件的的变量

$_ENV:获取服务器端环境变量的数组

$_COOKIE:浏览器cookie的操作

设置cookie:setcookie(name, value, expire, path, domain);

获取cookie:$_COOKIE["user"];

删除cookie:setcookie("user", "", time()-3600);//设置过期时间

$_SESSION  服务端session的操作

使用session前一定要session_start()启动session

储存session:$_SESSION["name"]="King";//数组操作

销毁session:unset($_SESSION["name"]);//销毁一个

session_destroy()和unset($_SESSION);//销毁所有的session

PHP魔术变量(8个)

__LINE__:文件中的当前行号。

__FILE__:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

__DIR__:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

__FUNCTION__:常量返回该函数被定义时的名字

__CLASS__:常量返回该类被定义时的名字(区分大小写)。

__METHOD__:类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__:当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

PHP魔术函数(13个)

__construct():实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。

__destruct(): 当删除一个对象或对象操作终止时被调用。

__call(): 对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。

__get():读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。

__set():设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。

__toString():打印一个对象的时被调用。如echo $obj;或print $obj;

__clone():克隆对象时被调用。如:$t=new Test();$t1=clone $t;

__sleep():serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。

__wakeup():unserialize时被调用,做些对象的初始化工作。

__isset(): 检测一个对象的属性是否存在时被调用。如:isset($c->name)。

__unset():unset一个对象的属性时被调用。如:unset($c->name)。

__set_state():调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。

__autoload():实例化一个对象时,如果对应的类不存在,则该方法被调用。

到此这篇关于PHP超级全局变量、魔术变量和魔术函数汇总整理的文章就介绍到这了,更多相关PHP超全局变量、魔术变量和魔术函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

java 允许魔术变量_PHP超级全局变量、魔术变量和魔术函数汇总整理相关推荐

  1. php 魔术变量和超级全局变量,PHP超级全局变量与魔术变量

    PHP在设计的时候已经预定义了9个超级全局变量.8个魔术变量和13魔术函数,这些变量和函数可以在脚本的任何地方不用声明就可以使用. 在PHP开发时会频繁的使用这些变量,这些变量可以方便的帮我们解决很多 ...

  2. php session 全局,PHP超级全局变量——Session 变量

    标签: PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. PHP Session 变量 当您 ...

  3. php超级全局变量和魔术变量

    php超级全局变量和魔术变量 一.总结 一句话总结: 1.两者的书写形式非常不一样,超级全局变量是$_大写变量名 的形式,魔术变量是 __大写变量名的形式__ 2.两者的应用范围不一样,超级全局变量是 ...

  4. 雷林鹏分享:PHP 超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着 ...

  5. java局部变量全局变量,实例变量的理解

    java局部变量全局变量,实例变量的理解 局部变量 可以理解为写在方法中的变量. public class Variable {//类变量static String name = "小明&q ...

  6. java 静态全局变量_静态变量static和全局变量global

    静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...

  7. 华为计算机魔术,华为的魔术表演,超级旗舰将问世,iPhone羡慕不已

    华为的魔术表演,超级旗舰将问世,iPhone羡慕不已 华为子品牌荣耀系列,今年特别火,最近的两三个月好消息一波接着一波,像什么华为的单品销售冠军,一个月卖出100万台的荣耀10,华为史上最便宜的海思麒 ...

  8. java变量之全局变量(静态变量,成员变量),局部变量,的关系和区别

    转https://blog.csdn.net/m0_47616039/article/details/120452765 可能刚学java对这些变量很懵,直接上图,接下来进行代码解释 此文为了方便各位 ...

  9. Java全局变量(成员变量)和局部变量的区别

    前言:学习变量之前若对static修饰符不理解,理解可能比较吃力. 一.下面先大致介绍java中static关键字的作用 1:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 2:静 ...

最新文章

  1. 一文讲解图像插值算法原理!附Python实现
  2. Linux08--Shell程序设计03 shell script
  3. yum源失效,yum命令报错404
  4. UTF-8和BOM的一些说明
  5. Docker学习笔记
  6. linux 基础训练,Linux 基础训练习题
  7. Pwn2Own 2021温哥华黑客大赛落幕 3个团队并列 Master of Pwn
  8. Android 隐藏ImageView
  9. 动态规划实战9 leetcode-91. Decode Ways
  10. Youtube油管视频类别标签列表
  11. 计算机掌握录音机的使用方法,如何使用2种方法从计算机录制音频
  12. c# 财务报表数字转大写的方法
  13. eMule电驴使用从入门到精通
  14. git pull失败解决 git下“The following untracked working tree files would be overwritten by checkout
  15. 反转!南大通报“教师性侵学生”事件,举报人因读研时未获国奖虚假举报
  16. 从零实现Transformer、ChatGLM-6B、本地知识库、模型(训练/推理)加速
  17. 华为手机为何能反超小米?
  18. Coolpad7296线刷/救砖(win8.1) 总结
  19. php更换鼠标指针详细,window_Win7系统鼠标指针怎么更改?Win7系统更换鼠标指针的方法,  Win7系统鼠标指针怎么更改 - phpStudy...
  20. 2022年最赚钱地推项目-WiFi贴项目(月入10个W)

热门文章

  1. atitit.薄伽梵歌overview  attilax 读后感
  2. winform 拖动无边框窗体(调用Windows API)
  3. 关于windows CE Platform Builder中模拟器的限制
  4. 使用seaborn制图(箱型图)
  5. 基于状态机的游戏框架
  6. 机器学习EPD:概率密度估计
  7. 回馈顾客, 活动搞起 --- 策略模式
  8. 搞个这样的APP要多久? (转)
  9. 判断连个单链表是否交叉,并找到交叉点
  10. RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.