跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
PHP常量
”︁(章节)
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= PHP常量 = '''PHP常量'''是一种在脚本执行期间其值不能被改变的标识符。与变量不同,常量一旦定义就无法重新定义或取消定义,这使得它们非常适合存储那些在整个应用程序中保持不变的值,例如配置设置或数学常数。 == 定义常量 == 在PHP中,可以使用<code>define()</code>函数或<code>const</code>关键字来定义常量。两者的主要区别在于<code>const</code>在编译时定义,而<code>define()</code>在运行时定义。 === 使用<code>define()</code>函数 === <syntaxhighlight lang="php"> // 定义一个常量 define("SITE_NAME", "My PHP Learning Site"); echo SITE_NAME; // 输出: My PHP Learning Site </syntaxhighlight> === 使用<code>const</code>关键字 === <syntaxhighlight lang="php"> // 在类外部使用const const PI = 3.14159; echo PI; // 输出: 3.14159 // 在类内部使用const class MathConstants { const E = 2.71828; } echo MathConstants::E; // 输出: 2.71828 </syntaxhighlight> == 常量的命名规则 == * 常量名通常使用大写字母,以区别于变量(惯例,非强制)。 * 常量名可以以字母或下划线开头,后面可以跟字母、数字或下划线。 * 常量名区分大小写(除非在<code>define()</code>中设置第三个参数为<code>true</code>)。 == 预定义常量 == PHP提供了许多预定义常量,这些常量在PHP运行时自动可用。例如: * <code>PHP_VERSION</code>:当前PHP版本。 * <code>PHP_OS</code>:运行PHP的操作系统。 * <code>__FILE__</code>:当前文件名。 <syntaxhighlight lang="php"> echo "PHP Version: " . PHP_VERSION . "\n"; echo "Operating System: " . PHP_OS . "\n"; echo "Current file: " . __FILE__ . "\n"; </syntaxhighlight> == 魔术常量 == PHP还提供了一些'''魔术常量''',它们的值会根据使用的位置而变化。例如: * <code>__LINE__</code>:当前行号。 * <code>__DIR__</code>:当前文件所在的目录。 * <code>__FUNCTION__</code>:当前函数名。 <syntaxhighlight lang="php"> function testFunction() { echo "Function name: " . __FUNCTION__ . "\n"; } testFunction(); // 输出: Function name: testFunction </syntaxhighlight> == 常量的作用域 == 常量在定义后是全局的,可以在脚本的任何地方访问,包括函数和类内部。 <syntaxhighlight lang="php"> define("GREETING", "Hello, World!"); function sayHello() { echo GREETING; } sayHello(); // 输出: Hello, World! </syntaxhighlight> == 检查常量是否存在 == 可以使用<code>defined()</code>函数检查常量是否已定义。 <syntaxhighlight lang="php"> if (!defined("DB_HOST")) { define("DB_HOST", "localhost"); } echo DB_HOST; // 输出: localhost </syntaxhighlight> == 实际应用案例 == 常量常用于存储应用程序的配置信息,例如数据库连接参数或API密钥。 <syntaxhighlight lang="php"> // 数据库配置 define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASS", "password"); define("DB_NAME", "my_database"); // 连接数据库 $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully!"; </syntaxhighlight> == 常量与变量的比较 == {| class="wikitable" |- ! 特性 !! 常量 !! 变量 |- | 定义方式 || <code>define()</code>或<code>const</code> || <code>$variable</code> |- | 可变性 || 不可变 || 可变 |- | 作用域 || 全局 || 取决于定义位置 |- | 命名规则 || 通常大写 || 通常小写 |} == 总结 == * 常量是不可变的标识符,适合存储不变的值。 * 可以使用<code>define()</code>或<code>const</code>定义常量。 * 常量在全局范围内可用,无需担心作用域问题。 * 预定义和魔术常量提供了有用的运行时信息。 * 常量常用于配置设置和全局值。 通过合理使用常量,可以使代码更加清晰、可维护,并减少因意外修改重要值而导致的错误。 [[Category:编程语言]] [[Category:PHP]] [[Category:PHP基础]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)