0
我想在php中创建动态对象属性作为变量。 例如变量中的PHP对象属性
$b = '';
if($b != '') $b = "->b";
$a = new stdClass();
$a. $b->c;
我的目标输出
If(b == '') $a->c;
else $a->b->c;
我想在php中创建动态对象属性作为变量。 例如变量中的PHP对象属性
$b = '';
if($b != '') $b = "->b";
$a = new stdClass();
$a. $b->c;
我的目标输出
If(b == '') $a->c;
else $a->b->c;
对于$b->c
工作,你必须做出$b
stdClass
类的一个对象。但是由于您使用$b = "->b";
作为字符串$b
,前面的语句$b->c
会引发错误。
因此,解决方法是 - 将b
作为对象$a
的属性,并将类stdClass
的对象分配给此成员属性。以下代码块将使这个概念更清晰。
$b = '';
$a = new stdClass();
if($b != ''){
$a->b = new stdClass();
$a->b->c = 'something';
}else{
$a->c = 'something else';
}
后来,你可以期望的目标输出是这样的:
if($b == '') echo $a->c;
else echo $a->b->c;