PHP中定义数组常量(array常量)的方法

在PHP中,我们不能用const直接定义数组常量,但是const可以定义字符串常量,结合eval()函数使字符串常量能执行。所以,我们可以用定义字符串常量的方式来返回一个数组常量。下面就是我们来见证奇迹的时刻!

代码如下:

<?php
class Test
{
 const MY_ARR="return array(\"a\",\"b\",\"c\",\"d\");";
 public function getConstArray()
 {
  return eval(Test::MY_ARR);//eval()函数把字符串作为PHP代码执行
 }
}
$t=new Test();
print_r($t->getConstArray());
?>

上面代码中,getConstArray()函数,就相当于一个数组常量。

(0)

相关推荐

  • PHP中unset,array_splice删除数组中元素的区别

    如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> 结果是: Array ( [0] => a [2] => c [3] => d )   那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice(): <?php $arr = array('a','b','c','d

  • php数组函数序列之array_unique() - 去除数组中重复的元素值

    array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 语法 array_unique(array) 参数 描述 array 必需.规定输入的数组. 说明 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名.这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留. 提示和注

  • php5.5新数组函数array_column使用

    PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的!但是低版本PHP要使用,得自己实现:参考地址:https://wiki.php.net/rfc/array_column 复制代码 代码如下: if(!function_exists('array_column')){     function array_column($input, $columnKey, $indexKey=null){         $columnKeyIsNumber      = (

  • php数组函数序列之array_pop() - 删除数组中的最后一个元素

    array_pop()定义和用法 array_pop() 函数删除数组中的最后一个元素. 语法 array_pop(array)参数 描述 array 必需.规定输入的数组参数. 例子 复制代码 代码如下: <?php $a=array("Dog","Cat","Horse"); array_pop($a); print_r($a); ?> 输出: Array ( [0] => Dog [1] => Cat )

  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例

    php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists(). 首先分别介绍一下各自的定义与作用 in_array(value,array,type) 该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与

  • php计算数组相同值出现次数的代码(array_count_values)

    php计算数组相同值出现次数,可以使用php自带函数array_count_values : 说明 array array_count_values ( array $input )array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值. array_count_values() 例子 复制代码 代码如下: <?php $array = array(1, "hello", 1, "wo

  • php数组函数序列之array_keys() - 获取数组键名

    array_keys() 定义和用法 array_keys() 函数返回包含数组中所有键名的一个新数组. 如果提供了第二个参数,则只返回键值为该值的键名. 如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型. 语法 array_keys(array,value) 参数 描述 array 必需.规定输入的数组. value 可选.指定值的索引(键). strict 可选.与 value 参数一起使用.可能的值: true - 根据类型返回带有

  • php array_filter除去数组中的空字符元素

    除去数组中的空字符元素 复制代码 代码如下: <?php $str1_array=array('我们','','http://www.jb51.net','','1654',''); $str1_array=array_filter($str1_array); print_r($str1_array); ?> 显示结果: 复制代码 代码如下: Array ( [0] => 我们 [2] => http://www.jb51.net [4] => 1654 )

  • php数组函数序列之array_key_exists() - 查找数组键名是否存在

    array_key_exists() 定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(key,array) 参数 描述 key 必需.规定键名. array 必需.规定输入的数组. 例子 1 复制代码 代码如下: <?php $a=array("a"=>"Dog","b"=>&quo

  • php中使用array_filter()函数过滤空数组的实现代码

    今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法: 复制代码 代码如下: $entry = array( 0 => '蓝

  • PHP获取数组中某元素的位置及array_keys函数应用

    众所周知,PHP自身内置了很多函数,这也是使用PHP能够极大提高开发效率的一个重要原因,获取数组中一元素的位置有很多方法,其中PHP自身就已经内置了一个函数array_keys(),下边的代码能够打印出所有PHP的内置函数: 复制代码 代码如下: <?php print_r(get_defined_functions()); ?> array_keys的语法如下: 复制代码 代码如下: array_keys(array,value,[strict]) 其中strict设置为true将触发数据类

  • php使用array_rand()函数从数组中随机选择一个或多个元素

    使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. 复制代码 代码如下: array_rand(array,number) 参数 描述 array 必需.规定输入的数组参数. number 可选.默认是 1.规定返回多少个随机的元素. 例子: 复制代码 代码如下: <?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"

  • php数组相加 array(“a”)+array(“b”)结果还是array(“a”)

    在网上看到一道题: array("a")+array("b")的结果是___ A.array("a","b")B.array("b","a")C.array("b")D.array("a") 答案:D php两个数组相加,为什么结果还是不变呢? 因为,它们等效于array("0″=>"a")+array(&quo

  • php数组(array)输出的三种形式详解

    复制代码 代码如下: $bbbb=array("11"=>"aaa","22"=>"bbb");//只能输出值value不能输出keyforeach($bbbb as $color){ echo $color;}//value与key都可输出foreach($bbbb as $key=>$value){ echo $key."=>".$value;} //value与key都可输出w

  • PHP中使用array函数新建一个数组

    PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的. array (PHP 4, PHP 5) array - 新建一个数组 说明 复制代码 代码如下: array array ([ mixed $... ] ) 返回根据参数建立的数组.参数可以用 => 运算

  • php二维数组排序方法(array_multisort usort)

    例如像下面的数组: 复制代码 代码如下: $users = array(    array('name' => 'tom', 'age' => 20)    , array('name' => 'anny', 'age' => 18)    , array('name' => 'jack', 'age' => 22)); 希望能按照age从小到大进行排序.笔者整理了两个方法出来,分享给大家. 1.使用array_multisort 使用这个方法,会比较麻烦些,要将age

随机推荐