要在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输出当前进程所有变量/常量/模块/函数/类的示例 - Python技术站