2012-10-20 51 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>"; 
        } 

      } 
相關問題