为什么PHP不在第7行抛出错误?
<?php
class Test {
public function __construct(){
$name = 123;
$this->$name = 'Test';
var_dump($this->$name);
$this->123 = 'Test2';
var_dump($this->123);
}
}
$test = new Test();
var_dump($test);
我一直认为,类字段不能以数字开头。但如果数字在一个变量中,情况似乎并非如此。
答案 0 :(得分:5)
我认为这是因为PHP变量的动态特性。
如果您阅读已定义的类属性的vardump:
object(Test)#1 (1) { ["123"]=> string(4) "Test" }
你可以看到它(索引是)一个字符串,而不是一个整数,因为你期望它是