首页 > 解决方案 > 怎样才能检查PHP变量空间的内部状态?

问题描述

我正在为 ZCE 做准备,目前正在玩类型、变量。我们知道变量名只能包含$,_和字母数字字符,但是变量变量名呢?

代码示例:

$v = '12lue';
$b = $$v = 100;

echo $b;
echo $$v;

输出:

100
100

这是否意味着$$v也包含值100 ,其内部名称是12lue但不能直接访问

更新#1。

看起来对变量变量的名称根本没有限制:

$v = "<";
$b = $$v = 100;
var_dump($$v);

输出:

int(100)

现在我真的很想知道 - PHP 是否在内部创建这些变量,如何证明?

标签: php

解决方案


$$v可以重写为${$v}and that to ${'12lue'},并检查是否存在,使用

http://php.net/manual/de/function.get-defined-vars.php

var_export(get_defined_vars())

或者

array_keys(get_defined_vars())

推荐阅读