「PHP系列」PHP预定义常量详解

一、PHP预定义常量

PHP 提供了许多预定义常量,这些常量在 PHP 脚本执行期间始终是可用的。它们通常用于提供关于 PHP 版本、操作系统、服务器软件等的信息。以下是一些常见的 PHP 预定义常量:

1. PHP 版本相关常量

  • __FILE__: 当前文件的完整路径和文件名。
  • __LINE__: 当前行号。
  • __DIR__: 当前文件的目录。
  • PHP_VERSION: 当前 PHP 版本的字符串表示。
  • PHP_MAJOR_VERSION: 当前 PHP 版本的主版本号。
  • PHP_MINOR_VERSION: 当前 PHP 版本的次版本号。
  • PHP_RELEASE_VERSION: 当前 PHP 版本的发布号。
  • PHP_EXTRA_VERSION: 当前 PHP 版本的附加信息。

2. 操作系统和服务器软件相关常量

  • PHP_OS: 运行 PHP 的操作系统名称。
  • PHP_SAPI: 服务器 API 的类型,例如 “apache2handler”、“cgi” 等。
  • SERVER_SOFTWARE: 服务器软件的名称和版本(由 $_SERVER['SERVER_SOFTWARE'] 提供)。

3. 布尔值和空值常量

  • true: 布尔真值。
  • false: 布尔假值。
  • null: 一个特殊的值,表示变量没有值。

4. 错误处理相关常量

  • E_ERROR: 致命的运行时错误。
  • E_WARNING: 运行时警告(非致命错误)。
  • E_PARSE: 解析错误。
  • E_NOTICE: 运行时通知。
  • E_CORE_ERROR: PHP 启动时的致命错误。
  • E_CORE_WARNING: PHP 启动时的警告(非致命错误)。
  • E_COMPILE_ERROR: 编译时致命错误。
  • E_COMPILE_WARNING: 编译时警告(非致命错误)。
  • E_USER_ERROR: 用户生成的错误消息。
  • E_USER_WARNING: 用户生成的警告消息。
  • E_USER_NOTICE: 用户生成的通知消息。
  • E_STRICT: 运行时通知,启用 PHP 的严格模式时发出。
  • E_DEPRECATED: 运行时通知,当使用已弃用的特性时发出。
  • E_USER_DEPRECATED: 用户生成的弃用警告。
  • E_ALL: 所有错误和警告(除 E_STRICT 外)。
  1. 目录和文件路径常量
  • __DIR__: 当前脚本所在的目录。
  • DIRECTORY_SEPARATOR: 目录分隔符(在 Windows 上是 “”,在 Unix/Linux 上是 “/”)。
  1. 无限大和无穷小常量
  • INF: 正无穷大。
  • -INF: 负无穷大。
  • NAN: 表示非数字值的结果。

二、案例

PHP 预定义常量在 PHP 脚本中非常有用,它们提供了关于 PHP 环境、操作系统、文件路径等的有用信息。下面是一些使用 PHP 预定义常量的详细案例:

1. 获取当前脚本的路径和文件名

<?php
echo '当前脚本的路径和文件名: ' . __FILE__ . PHP_EOL;
echo '当前脚本所在的目录: ' . __DIR__ . PHP_EOL;
?>

在这个例子中,__FILE__ 常量会输出当前脚本的完整路径和文件名,而 __DIR__ 常量会输出当前脚本所在的目录。

2. 检查 PHP 版本

<?php
echo '当前 PHP 版本: ' . PHP_VERSION . PHP_EOL;
echo 'PHP 主版本号: ' . PHP_MAJOR_VERSION . PHP_EOL;
echo 'PHP 次版本号: ' . PHP_MINOR_VERSION . PHP_EOL;
?>

这里使用了 PHP_VERSIONPHP_MAJOR_VERSIONPHP_MINOR_VERSION 常量来获取 PHP 的版本信息。

3. 获取操作系统信息

<?php
echo '当前操作系统: ' . PHP_OS . PHP_EOL;
?>

PHP_OS` 常量用于输出当前 PHP 运行的操作系统名称。

4. 错误处理

<?php
error_reporting(E_ALL & ~E_NOTICE); // 报告所有错误,除了通知
ini_set('display_errors', 1); // 显示错误

// 故意制造一个错误
echo $undefinedVariable; // 这将导致一个未定义变量的错误
?>

在这个例子中,E_ALLE_NOTICE 常量用于控制错误报告级别。通过组合这些常量,我们可以定制 PHP 报告哪些类型的错误。

5. 目录分隔符

<?php
$path = 'path' . DIRECTORY_SEPARATOR . 'to' . DIRECTORY_SEPARATOR . 'file.txt';
echo '文件路径: ' . $path . PHP_EOL;
?>

在这个例子中,DIRECTORY_SEPARATOR 常量用于构建跨平台的文件路径字符串。在 Windows 上,它将是 “”,而在 Unix/Linux 上,它将是 “/”。

6. 无穷大和无穷小

<?php
$positiveInfinity = INF;
$negativeInfinity = -INF;
$notANumber = NAN;

echo '正无穷大: ' . $positiveInfinity . PHP_EOL;
echo '负无穷大: ' . $negativeInfinity . PHP_EOL;
echo '非数字值: ' . $notANumber . PHP_EOL;

// 检查一个数是否为无穷大或无穷小
if (is_infinite($positiveInfinity)) {
    echo '$positiveInfinity 是无穷大.' . PHP_EOL;
}

if (is_nan($notANumber)) {
    echo '$notANumber 是非数字值.' . PHP_EOL;
}
?>

在这个例子中,INF-INFNAN 常量分别用于表示正无穷大、负无穷大和非数字值。我们还使用了 is_infinite()is_nan() 函数来检查一个数是否为无穷大或非数字值。

三、相关链接

  1. php官网
  2. php_Github
  3. PHP实现Token
  4. 「PHP系列」PHP简介与起步
  5. 「PHP系列」PHP语法介绍
  6. 「PHP系列」PHP变量
  7. 「PHP系列」PHP echo/print语句、数据类型详解
  8. 「PHP系列」PHP 常量/字符串、类型比较
  9. 「PHP系列」PHP 运算符详解
  10. 「PHP系列」If…Else语句/switch语句
  11. 「PHP系列」数组详解
  12. 「PHP系列」PHP数组排序及运用场景
  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪梅零落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值