const 定义数组问题

const keysArr = array(
    'aaa' => '11111', 
    'bbb' => '22222',
    'ccc' => '33333',
    'ddd' => '44444'
);

上面是标准的错误格式,PHP编译不会报详细错误信息(500)

查找半天的代码问题,一直未发现错误,后使用 /usr/local/php/bin/php xxxxxController.php 编译显示错误信息

PHP Fatal error:  Arrays are not allowed in class constants

 

我们可以采用一下方法定义数组(在网上查找):

方法一:采用eval()函数
    define('BEST_PHPER',"return array('name'=>'巩文','address'=>'china');");
    $BEST_PHPER=eval(BEST_PHPER);

    var_dump($BEST_PHPER);

方法二:采用json_encode()函数
    define('BEST_PHPER',json_encode(array('name'=>'巩文','address'=>'china')));
    $BEST_PHPER=json_decode(BEST_PHPER,true);

    var_dump($BEST_PHPER);

方法三:采用serialize()函数
    define('BEST_PHPER',serialize(array('name'=>'巩文','address'=>'china')));
    $BEST_PHPER=unserialize(BEST_PHPER);
    var_dump($BEST_PHPER);

 

你可能感兴趣的:(const 定义数组问题)