PHP世纪论坛

 找回密码
 立即注册
搜索
查看: 362|回复: 0

PHP 打印所有常量

[复制链接]

32

主题

32

帖子

194

积分

新手上路

Rank: 1

积分
194
发表于 2016-3-19 13:51:30 | 显示全部楼层 |阅读模式

打印所有常量
php 中 get_defined_constants() 函数可以打印所有的常量。


array get_defined_constants ([ bool $categorize = false ] )

参数为TRUE时:返回一个多维数组,分类为第一维的键名,常量和它们的值位于第二维。


print_r(get_defined_constants());

打印用户自定义常量
$user_constants = get_defined_constants(TRUE);
print_r($user_constants['user']);


给定一个常量值,返回常量名称
  1. /**
  2. * 给定一个常量值,返回常量名称
  3. *
  4. * @param  mixed  常量值.
  5. * @return string 常量名.
  6. * @access public
  7. */
  8. function get_constant_name($value) {
  9.     $constants = get_defined_constants();
  10.     $name = array_search($value,$constants,true);
  11.     return $name;
  12. }

  13. var_dump(get_constant_name(1));
复制代码
给定一个常量名前缀,返回常量名称
  1. /**
  2. * 给定一个常量名前缀,返回常量名称
  3. *
  4. * @param  string 常量名前缀
  5. * @return array 常量名和值
  6. * @access public
  7. */
  8. function get_prefix_constants($prefix) {
  9.     foreach(get_defined_constants() as $key => $value) {
  10.         if(substr($key,0,strlen($prefix)) == $prefix) {
  11.             $dump[$key] = $value;
  12.         }
  13.     }

  14.     if(empty($dump)) {
  15.         return;
  16.     }
  17.     return $dump;
  18. }
  19. define("MY_CONSTANT_ONE",true);
  20. define("MY_CONSTANT_TWO",false);
  21. define("MY_URL","fengdingbo.com");
  22. print_r(get_prefix_constants("MY_CONSTANT"));
  23. /*
  24. 返回类似
  25. Array
  26. (
  27. [MY_CONSTANT_ONE] => 1
  28. [MY_CONSTANT_TWO] =>
  29. )
  30. */
复制代码





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|PHP世纪论坛 ( 豫ICP备15004666号-2 )

GMT+8, 2018-6-25 08:06

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表