2012-10-20 24 views
0

如何获取已定义变量及其值的列表。例如define('DS', DIRECTORY_SEPARATOR);PHP如何获取所有已定义变量的列表?

如何在页面末尾列出所有这些文件以检查其是否按预期工作。而不是逐个打印所有的文件。

我试过get_defined_vars()但是我得到了像下面这样的所有超级全局变量。

Array 
(
    [GLOBALS] => Array 
     (
      [GLOBALS] => Array 
*RECURSION* 
      [_POST] => Array 
       (
       ) 

      [_GET] => Array 
       (
       ) 

      [_COOKIE] => Array 
       (
        [PHPSESSID] => tkv7odk47idt4r2ob7389tkr81 
        [CAKEPHP] => cep9tbooimh5kbhn8jovmaqgi1 
       ) 

      [_FILES] => Array 
       (
       ) 

      [_SERVER] => Array 

但我只想要那些我提到的使用define()语句的人。

有没有什么办法得到它。

+1

为了记录,'define'定义*常数*,而不是变量。 – DCoder

回答

2

您可以通过使用get_defined_constants

$constarray = get_defined_constants(true); 
foreach($constarray['user'] as $key => $val) 
    eval(sprintf('$_CONSTANTS[\'%s\'] = \'%s\';', addslashes($key), addslashes($val))); 
2

检索所有在PHP脚本中定义的常量,你可以使用函数get_defined_constants()

得到这个它将返回一个在php脚本中定义的所有常量的关联数组。

有关get_defined_constants的更多文档,请参阅以下url http://php.net/manual/en/function.get-defined-constants.php

0

我使用此代码获取所有定义。你可以包含php文件并使用此代码

   include("FILE.PHP"); 

       GET_ALL_define(); 

      function GET_ALL_define(){ 

        $getdefinedconstants = get_defined_constants(true); 
        $definedvars = $getdefinedconstants['user']; 

        foreach($definedvars as $key => $value){ 
         echo $key ." = ". $value . "<br>"; 
        } 

      } 

或不包含像这样的代码的PHP文件。

  define("_A","A1"); 
      define("_B","B2"); 
      define("_C","C3"); 

       GET_ALL_define(); 

      function GET_ALL_define(){ 

        $getdefinedconstants = get_defined_constants(true); 
        $definedvars = $getdefinedconstants['user']; 

        foreach($definedvars as $key => $value){ 
         echo $key ." = ". $value . "<br>"; 
        } 

      } 
相关问题