最近在做php操作ArangoDB的时候,由于ArangoDB数据字段命名有小数点比如(photo.p)映射成php.类属性就有photo.p这个值
按理来说php的变量名不允许有特殊符号存在,下面代码执行肯定会报错的
class Person {
public $photo.p='xxxxx';
}
$person=new Person();
var_dump($person);
但是通过公共方法 对类的属性赋值取可以实现
class A {
public $a = 'hello';
public function add() {
$attr='photo.p';
$this->$attr = 'world';
}
public static function p() {
echo 'world',PHP_EOL;
}
}
$a = new A;
$a->add();
$a->c = 'test';
$attrbute='photo.p';
var_dump($a->$attrbute);
var_dump($a);
结果如下
但是如何获取类实例中的’photo.p‘这个属性值呢执行 $a->photo.p 从语法上就不对
于是采用一下方法:
在这里插入代码片
$attrbute='photo.p';
var_dump($a->$attrbute);