php - 怎样才能检查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 是否在内部创建这些变量,如何证明?
解决方案
$$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())
推荐阅读
- blazor - 如何控制 Blazor Virtualize 组件的高度
- flask - 工作完成后烧瓶重定向到上一个网址
- kubernetes - 用户 \"system:serviceaccount:infini-system:default\" 无法在命名空间 \"default\"" 中的 API 组 \"kubedb.com\" 中获取资源 \"postgreses\"
- python - 抓取信息 - BeautifulSoup/Python
- rx-java2 - Micronaut/RxJava 控制器不向客户端返回输出
- javascript - replaceAll 不带替换 html 标签 JavaScript
- vba - 在 Powerpoint 中查找和删除文本
- ansible - 如何根据条件设置不同的参数
- stata - Stata:如何从病例对照研究的结果中生成数据集?
- ruby-on-rails - 除了名称属性之外,是否可以使用机械化复选框?