Avatar ·

能否在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,仍然遇到问