通过字符串获取PHP类属性

如何在基于字符串的PHP中获取属性?我给它打电话magic。那是什么magic呢?


$obj->Name = 'something';

$get = $obj->Name;

就像...


magic($obj, 'Name', 'something');

$get = magic($obj, 'Name');


芜湖不芜
浏览 481回答 3
3回答

当年话下

您要问的是所谓的Variable Variables。您需要做的就是将字符串存储在变量中,然后像这样访问它:$Class = 'MyCustomClass';$Property = 'Name';$List = array('Name');$Object = new $Class();// All of these will echo the same propertyecho $Object->$Property;  // Evaluates to $Object->Nameecho $Object->{$List[0]}; // Use if your variable is in an array

素胚勾勒不出你

像这样<?php$prop = 'Name';echo $obj->$prop;或者,如果您可以控制该类,请实现ArrayAccess接口,然后执行此操作echo $obj['Name'];

慕森王

如果要访问属性而不创建中间变量,请使用{}表示法:$something = $object->{'something'};这还允许您例如在循环中构建属性名称:for ($i = 0; $i < 5; $i++) {&nbsp; &nbsp; $something = $object->{'something' . $i};&nbsp; &nbsp; // ...}
打开App,查看更多内容
随时随地看视频慕课网APP