为了账号安全,请及时绑定邮箱和手机立即绑定

通过字符串获取PHP类属性

通过字符串获取PHP类属性

PHP
芜湖不芜 2019-10-17 13:00:38
如何在基于字符串的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


查看完整回答
反对 回复 2019-10-17
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

像这样


<?php


$prop = 'Name';


echo $obj->$prop;

或者,如果您可以控制该类,请实现ArrayAccess接口,然后执行此操作


echo $obj['Name'];


查看完整回答
反对 回复 2019-10-17
?
慕森王

TA贡献1777条经验 获得超3个赞

如果要访问属性而不创建中间变量,请使用{}表示法:


$something = $object->{'something'};

这还允许您例如在循环中构建属性名称:


for ($i = 0; $i < 5; $i++) {

    $something = $object->{'something' . $i};

    // ...

}


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 478 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信