php如何定义常量数组
墨初 编程开发 489阅读
在php脚本代码中定义一个数组类型的常量在不同的php版本中是不同的,其中php7.0以下的版本是无法直接定义数组类型的常量,但在php7.0以上版本(包括php7.0)是可以直接定义数组类型的常量。下面73so博客分别对不同版本的php定义数组类型的常做一个详细的介绍。
php 7.0 版本后定义数组常量的方法
版本大于或等于7.0的php环境中,是可以直接定义一下数组类型的常量。
方法1:
//定义一个常量的数组 define('language', ['c++', 'php', 'jsp', 'c#']); echo language[2]; // jsp
方法2:
define('code', array('c++', 'php', 'jsp', 'c#')); echo code[1]; // php
php 7.0以下版本定义数组常量的方法
php的版本如果低于7.0,是无法直接创建数组类型的常量的,但我们可以通过折中的方法来创建数组类型的常量。
方法1:
//定义常量时将数组转成json格式的字符串 define('language',json_encode(array('c++','php','jsp','c#'))); //调用常量时将json转成数组类型 $arr = json_decode(language,true); var_dump($arr);
方法2:
//将数组序列化成字符串存到常量中 define('language',serialize(array('c++','php','jsp','c#'))); //反序列化字符串为数组 $arr = unserialize(language); var_dump($arr);
方法3:
define('langage',"return array('php','feiniaomy.com','c#','c++');"); $arr = eval(langage); var_dump($arr);
注:eval() 这个函数在大多数的集成环境包中是禁止的,不推荐使用上面的方法函数!