PHP是一门动态语言,开发人员编写的代码会执行相应的逻辑。但是在执行代码的过程中,我们经常需要一些类似于环境变量或系统常量的东西来辅助我们完成一些任务。PHP提供了一些预定义(或者叫内置)的变量,让开发人员能够快速获取和处理一些重要信息。这些变量分为预定义常量和超全局变量两种类型。
预定义常量
预定义常量在PHP中拥有一个特殊的定义:在PHP脚本开始运行之前就已经被定义。常用的预定义常量包括:
LINE :代表的是代码行数。
FILE :代表的是文件的路径和名称。
DIR :代表的是文件所在目录的绝对路径。
FUNCTION :代表的是函数名称。
CLASS :代表的是类名,包括命名空间。
TRAIT :代表的是 trait 名字,包括命名空间。
METHOD :代表的是类的方法名称。
NAMESPACE :代表的是当前命名空间名称。
这些预定义常量是可读的,但不可重新赋值,例如:
<?php echo __FILE__; // 输出当前文件的路径 echo __LINE__; // 输出当前代码的行数 ?>
预定义常量的用途是帮助开发人员快速定位和调试代码,可能会用在错误报告中,或者记录代码执行路径和时间戳等。
超全局变量
超全局变量则是在PHP脚本任何地方都可以访问的变量,不用担心作用域或者函数的参数传递。所有的超全局变量都是以一个下划线开始的全局变量数组,并且在不同的版本中数组名不同。 超全局变量有以下几种类型:
$GLOBALS: 包含全部变量的全局作用域数组,变量的名称就是数组的键。
$_SERVER: 服务器和执行环境的信息。比如:$_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
$_GET: HTTP GET 变量。
$_POST: HTTP POST 变量。
$_FILES: HTTP 文件上传变量。
$_REQUEST: HTTP Request 变量,它同时包含了 $_GET,$_POST 和 $_COOKIE 变量的内容。
$_SESSION: Session 变量。
$_COOKIE: HTTP Cookies。
$_ENV: 环境变量。
$_SERVER超全局变量的示例:
<?php echo $_SERVER['PHP_SELF']; //显示当前执行脚本的文件名,即 index.php echo $_SERVER['SERVER_NAME']; // 显示当前运行脚本所在的服务器的主机名(本机 IP) echo $_SERVER['HTTP_REFERER']; // 获取网页的来源地址 (referer) echo $_SERVER['DOCUMENT_ROOT']; // 显示当前执行脚本的文档根目录(/var/www/) ?>
超全局变量的好处是在需要访问全局变量的时候,不需要在每个函数中都传递这些变量。但是,因为任何脚本的任何地方都可以直接访问这些变量,所以也带来了一些安全问题,攻击者可以利用一些漏洞修改这些全局变量的内容,导致系统产生异常,而调试分析异常的原因也会更加困难。
结语:
预定义常量和超全局变量都是PHP内置的一些变量,它们的存在使PHP程序员的开发和调试变得更加方便和高效。但是使用它们时,也需要考虑安全问题和具体实现细节,避免出现意外的问题。
以上是PHP预定义:理解预定义常量和超全局变量的详细内容。更多信息请关注PHP中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器