PHP输出当前进程所有变量/常量/模块/函数/类的示例

要在PHP代码中输出当前进程所有变量/常量/模块/函数/类,可通过内置函数 get_defined_vars() 和 get_defined_constants() 来实现,以及使用函数 get_loaded_extensions()、get_defined_functions() 和

要在PHP代码中输出当前进程所有变量/常量/模块/函数/类,可通过内置函数 get_defined_vars()get_defined_constants() 来实现,以及使用函数 get_loaded_extensions()get_defined_functions()get_declared_classes() 来获取相应信息。

下面分别介绍具体的实现方法及示例说明。

输出所有变量

使用内置函数 get_defined_vars() 即可获取当前进程所有变量,包括全局变量、局部变量和环境变量。该函数返回一个关联数组,包含了所有变量名和其对应的值。

<?php
$foo = 'Hello World';
function test() {
    $bar = 123;
    print_r(get_defined_vars());
}
test();
?>

上述代码会输出以下结果:

Array
(
    [foo] => Hello World
    [bar] => 123
)

输出所有常量

使用内置函数 get_defined_constants() 可获取当前进程所有预定义常量和自定义常量,该函数返回一个关联数组,包含了所有常量名和其对应的值。

<?php
define('FOO', 123);
const BAR = 'Hello World';
print_r(get_defined_constants(true));
?>

上述代码会输出以下结果:

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            ...
            [__NAMESPACE__] => 
            [__DIR__] => 
            [__FILE__] => 
            [__LINE__] => 
        )

    [user] => Array
        (
            [FOO] => 123
            [BAR] => 'Hello World'
        )
)

输出所有已加载扩展模块

使用内置函数 get_loaded_extensions() 可获取当前进程所有已加载的扩展模块,该函数返回一个数组,包含了所有已加载的扩展模块名。

<?php
print_r(get_loaded_extensions());
?>

上述代码会输出以下结果:

Array
(
    [0] => Core
    [1] => bcmath
    [2] => calendar
    ...
    [53] => Zend OPcache
)

输出所有已定义函数

使用内置函数 get_defined_functions() 可获取当前进程所有已定义的函数,该函数返回一个数组,包含了所有函数名。

<?php
function foo() {}
function bar() {}
print_r(get_defined_functions());
?>

上述代码会输出以下结果:

Array
(
    [internal] => Array
        (
            ...
            [strlen] => 1
            ...
        )

    [user] => Array
        (
            [0] => foo
            [1] => bar
        )
)

输出所有已声明的类

使用内置函数 get_declared_classes() 可获取当前进程所有已声明的类,该函数返回一个数组,包含了所有类名。

<?php
class Foo {}
class Bar {}
var_dump(get_declared_classes());
?>

上述代码会输出以下结果:

array(190) {
  [0]=>
  string(1) "A"
  [1]=>
  string(3) "ACL"
  [2]=>
  string(13) "APCIterator"
  ...
  [187]=>
  string(3) "Foo"
  [188]=>
  string(3) "Bar"
  [189]=>
  string(13) "Nkey\Cosmos\DB\Db"
}

综上所述,通过以上几种内置函数的使用,可以很方便地获取当前进程所有变量、常量、模块、函数和类。

本文标题为:PHP输出当前进程所有变量/常量/模块/函数/类的示例

基础教程推荐