如何在基于字符串的PHP中获取属性?我给它打电话magic。那是什么magic呢?$obj->Name = 'something';$get = $obj->Name;就像...magic($obj, 'Name', 'something');$get = magic($obj, 'Name');
3 回答
当年话下
TA贡献1890条经验 获得超9个赞
您要问的是所谓的Variable Variables。您需要做的就是将字符串存储在变量中,然后像这样访问它:
$Class = 'MyCustomClass';
$Property = 'Name';
$List = array('Name');
$Object = new $Class();
// All of these will echo the same property
echo $Object->$Property; // Evaluates to $Object->Name
echo $Object->{$List[0]}; // Use if your variable is in an array
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
像这样
<?php
$prop = 'Name';
echo $obj->$prop;
或者,如果您可以控制该类,请实现ArrayAccess接口,然后执行此操作
echo $obj['Name'];
慕森王
TA贡献1777条经验 获得超3个赞
如果要访问属性而不创建中间变量,请使用{}表示法:
$something = $object->{'something'};
这还允许您例如在循环中构建属性名称:
for ($i = 0; $i < 5; $i++) {
$something = $object->{'something' . $i};
// ...
}
- 3 回答
- 0 关注
- 494 浏览
添加回答
举报
0/150
提交
取消