0

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

如何在页面末尾列出所有这些以检查它们是否按预期工作。而不是一一打印出来。

我试过get_defined_vars()但我得到了所有的超级全局变量,如下所示。

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

            [_GET] => Array
                (
                )

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

            [_FILES] => Array
                (
                )

            [_SERVER] => Array

但我只想要那些我在define()声明中提到的那些。

有什么办法可以得到。

4

4 回答 4

2

您可以通过使用get_defined_constants

$constarray = get_defined_constants(true);
foreach($constarray['user'] as $key => $val)
    eval(sprintf('$_CONSTANTS[\'%s\'] = \'%s\';', addslashes($key), addslashes($val)));
于 2012-10-20T04:19:47.300 回答
2

要检索 php 脚本中所有已定义的常量,您可以使用函数 get_defined_constants()

它将返回 php 脚本中定义的所有常量的关联数组

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

于 2012-10-20T05:02:29.743 回答
1

使用get_defined_constants();,参考http://php.net/manual/en/function.get-defined-constants.php

于 2012-10-20T04:19:13.663 回答
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>";
                    }

            } 
于 2017-05-14T16:34:36.827 回答