这里曾经问过一个类似的问题:PHP变量像$ myvar-test不可用?。我已经阅读了PHP用户命名指南,其中写道:
我的问题有两个部分…为什么这样能行呢? 我的问题的第二部分:它们是否被视为有效变量还是被视为其他内容(我并不是在问它们是否可用,而是它们会被归类为什么)。
我好奇的是这个答案,以及为什么这些解决方法可行:变量名遵循PHP中其他标签的规则。有效的变量名以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为正则表达式,它将被表示为:'[a-zA-Z_ \x7f-\xff] [a-zA-Z0-9_ \x7f-\xff] *'
${'0x00'}
,或者这个:${'900'}
,还有这个:${'bad-name'}
。我的问题有两个部分…为什么这样能行呢? 我的问题的第二部分:它们是否被视为有效变量还是被视为其他内容(我并不是在问它们是否可用,而是它们会被归类为什么)。
$a = "123"; $$a = "hello";
(这只是将值“hello”分配给变量“$ 123”,这是无效的,但它确实有效)。 - Carlos Campderrós