【发布时间】:2012-06-15 16:09:57
【问题描述】:
这里提出了类似的问题:PHP variable like $myvar-test is not valid?
我读过PHP Userland Naming Guide 它在哪里说:
变量名称遵循与 PHP 中其他标签相同的规则。有效的变量名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为一个正则表达式,它会这样表达:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
我很好奇的是这个answer,以及为什么这些变通办法有效:${'0x00'},或者这个:${'900'},或者这个${'bad-name'}。
我的问题有两个部分......为什么这样有效?我的问题的第二部分:它们会被视为有效变量还是被视为其他东西(我不是在问它们是否有效,而是在问它们将被归类为什么。)
【问题讨论】:
-
您也可以使用邪恶的变量变量来获得“无效”变量名:
$a = "123"; $$a = "hello";(这只是将值 'hello' 分配给变量 '$123',这是无效的,但它有效)
标签: php