能否在PHP中将数组存储在常量中?define()和const的问题
大家好!我是一名PHP初学者开发者,遇到了常量相关的问题。
我需要创建一个包含数据库连接设置和允许IP地址列表的数组常量。之前我用`define()`定义简单字符串和数字时一切正常。但当我尝试将数组传给`define()`时,PHP报错:“Constants may only evaluate to scalar values or arrays”。
我尝试了两种方法:
1. 通过`define()`:
```php
define('DB_CONFIG', [
'host' => 'localhost',
'port' => 3306,
'user' => 'admin',
'pass' => 'secret'
]);
// 错误:Constants may only evaluate to scalar values
```
2. 通过关键字`const`:
```php
class Config {
const ALLOWED_IPS = ['192.168.1.1', '10.0.0.1', '127.0.0.1'];
}
// 有效,但不在全局作用域中
```
我阅读了文档,注意到PHP 5.6开始支持常量中的数组,但我用的是PHP 7.4,仍然遇到问