PHP如何定义一个产量数组

玩玩灬而已 发布于 2012/05/09 15:32
阅读 3K+
收藏 0
PHP

我使用define定义一个常量数组时,系统提示一下错误
Warning: Constants may only evaluate to scalar values

请问有什么方法可以定义一个常量状态的数组吗?
或者有什么常量类型可以达到和数组同样,可以进行“分段引用”的效果,
或者能让数组实现“无法修改”的效果

加载中
0
开源中国董事会主席
开源中国董事会主席
不可以定义,常量的值只能是标量
0
龙上
龙上

为什么要使用常量数组??

define('A',1)

array(A);

龙上
龙上
回复 @玩玩灬而已 : 可以定义一个静态类,return一个数组就好了.
玩玩灬而已
玩玩灬而已
主要目的是为了保护你们的数据不能被修改,或者添加。 还有需要有类似数组那样“分区引用”的功能
0
酒逍遥
酒逍遥

php无法定义常量数组的 一个变通的方法是用函数直接返回你要定义的数组

也可以用下面这种方式

define('A','$a=array(1,2,3);');

eval(A);

要使用数组之前 执行一下 eval(A); 得到的变量$a 就是定义的数组

但变量$a 的值是可以改变的..要使$a 的值始终为定义的数组的值 那么在使用变量$a 之前

都需要调用eval(A)

这和使用函数返回是一个道理

function constants_array(){

return array(1,2,3);

}

$a=constants_array();

返回顶部
顶部