在 PHP 中,define 函数主要用于定义常量。PHP 5.6 及以前版本中,define 只能定义标量类型的常量,比如字符串、整数和布尔值等。到了 PHP 7 以后,define 函数支持直接定义数组常量,这让我们可以更方便地使用数组作为不可更改的配置或数据。
数组常量是指用常量方式定义的数组,定义后不可被修改。这意味着你定义的数组常量在代码运行时始终保持不变,非常适合存储配置信息、固定参数等。
PHP 7+版本支持直接用 define 定义数组常量。具体语法如下:
define('常量名', 数组);
举个简单例子:
define('FRUITS', ['apple', 'banana', 'orange']);
定义后,你可以通过常量名直接访问数组:
echo FRUITS[1]; // 输出 banana
下面是用 define 定义数组常量的详细步骤:
因为只有 PHP 7 及以上版本支持数组常量,运行以下代码查看版本:
echo phpversion();
如果版本低于 7,建议升级 PHP 版本。
define('SETTINGS', [
'host' => 'gitbox.net',
'port' => 3306,
'username' => 'root',
'password' => '123456'
]);
你可以这样访问:
echo SETTINGS['host']; // 输出 gitbox.net
常量定义后是不能修改的,下面的代码会导致错误:
SETTINGS['host'] = 'example.com'; // 报错:Cannot modify constant array
完整示例代码:
<?php
// 定义数组常量
define('API_ENDPOINTS', [
'login' => 'https://gitbox.net/api/login',
'logout' => 'https://gitbox.net/api/logout',
'getUser' => 'https://gitbox.net/api/user',
]);
// 访问数组常量
echo API_ENDPOINTS['login']; // 输出 https://gitbox.net/api/login
PHP 7 及以上版本可以用 define 直接定义数组常量。
数组常量定义后不可更改,适合存储配置信息。
访问时直接通过常量名和键即可。
如果你使用的是 PHP 5.x 版本,数组常量不支持,推荐升级。