【问题标题】:How can I define an array constant?如何定义数组常量?
【发布时间】:2014-02-01 23:38:58
【问题描述】:

当我尝试将数组定义为常量时,有一个warning! The constant must be a scalar value。但是我如何定义一个我不能在我的脚本中修改的数组呢?有什么解决办法吗?

【问题讨论】:

  • 其实不需要!... 定义一个函数并返回你的数组。所以在需要的时候调用这个函数。
  • 也有很好的解决办法,谢谢

标签: php arrays constants


【解决方案1】:

在 PHP 中你不能这样做,所以你可以使用一些技巧:

其中一种方法是使用serialize(也可以使用 implode/explode、json_encode/json_decode):

define ("MyArray", serialize (array ("first", "second", "third")));

然后:

$MyArray = unserialize (MyArray); //here your array again

另一种方法是使用类,其中您将拥有private static 变量

class arrayConstant{
    private static $myArray=array ("first", "second", "third"); //here you set your array
    public static function getmyArray() {
        return self::$myArray; //return array
    }
}
$arrayConstant = arrayConstant::getArray(); //getting the array

【讨论】:

  • 酷,这是一个很好的解决方案,我喜欢它!谢谢
  • 我想到了一个有private属性的类,但是没有OOP的解决方案也很好:)
  • Epp,这是一种可能的方式)
  • define ("MyArray", serialize (array ("first", "second", "third"))); 这是什么? @sergio 请解释一下,如何以及在何处使用此代码?
  • @voodoo417 有解释:$MyArray = unserialize (MyArray); - 对我来说它有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多