php变量名区分大小写,函数名、类名、接口名及define()常量不区分大小写,const常量和数组字符串键名区分大小写。

PHP 中的变量名是区分大小写的,这意味着 $name 和 $Name 被视为两个完全不同的变量。以下是关于 PHP 变量大小写规则的具体说明:
一、变量名严格区分大小写
PHP 解析器在识别变量时,会将大小写字母视为不同字符,因此变量声明与使用必须保持字母大小写完全一致,否则将导致未定义变量警告或逻辑错误。
1、声明变量 $userName = "Alice";
2、正确访问该变量需使用 $userName,而 $USERNAME 或 $username 均无法获取其值
立即学习“PHP免费学习笔记(深入)”;
3、尝试输出 echo $username; 将输出空值,并可能触发 Notice 级别错误
二、函数名不区分大小写
PHP 对用户自定义函数和内置函数的调用不强制大小写匹配,解析器会自动忽略大小写差异进行匹配,但为保持代码可读性和一致性,仍建议统一使用声明时的原始大小写形式。
1、定义函数 function sayHello() { return "Hello"; }
2、以下所有调用方式均有效:sayhello()、SayHello()、SAYHELLO()
3、但若在同一作用域中重复定义同名函数(仅大小写不同),将触发 Fatal Error
三、类名和接口名不区分大小写
PHP 在加载类和接口时对名称大小写不敏感,类定义和实例化过程均可混用大小写,但命名空间路径及文件系统实际路径仍需符合操作系统大小写规则。
1、定义类 class UserHandler { }
2、实例化时可写作 $u = new userhandler();
3、在 Linux 文件系统中,若类定义位于 UserHandler.php 文件内,则通过 require 'userhandler.php'; 会导致失败,因文件名大小写不匹配
四、常量名默认不区分大小写(除 const 外)
使用 define() 定义的常量默认不区分大小写,而使用 const 关键字定义的类常量和命名空间常量则严格区分大小写。
1、执行 define('MAX_SIZE', 1024); 后,MAX_SIZE、max_size、Max_Size 均可正常访问
2、但 class Config { const VERSION = '1.0'; } 中的 Config::VERSION 必须严格匹配大小写
3、调用 Config::version 将产生 Fatal Error:Uncaught Error: Undefined class constant
五、数组键名区分大小写
PHP 数组的字符串键名遵循变量名规则,即严格区分大小写;整数键名不受影响,因其本身无大小写概念。
1、创建数组 $data = ['ID' => 123, 'id' => 456];
2、$data['ID'] 返回 123,而 $data['id'] 返回 456
3、$data['Id'] 或 $data['iD'] 均返回 NULL,且不会触发警告











