php将字符串追加到stdClass对象
我正在从数据库中提取记录,我有一个名为php将字符串追加到stdClass对象,php,concatenation,stdclass,Php,Concatenation,Stdclass,我正在从数据库中提取记录,我有一个名为content\u fr 正在基于站点语言动态创建\u fr 从表中获取所有记录当然会给我提供content\u fr字段。如果我试图连接$row->content,我需要在案例中手动分配后缀。“\u fr'我得到错误注意:未定义属性:stdClass::$content,这很有意义,因为$content不存在,但$content\u fr存在。使用标准数组时,我可以像$row['content\u fr']那样进行操作,并且工作正常,但现在使用stdCla
content\u fr
正在基于站点语言动态创建\u fr
从表中获取所有记录当然会给我提供content\u fr
字段。如果我试图连接$row->content,我需要在案例中手动分配后缀。“\u fr'
我得到错误注意:未定义属性:stdClass::$content
,这很有意义,因为$content不存在,但$content\u fr
存在。使用标准数组时,我可以像$row['content\u fr']
那样进行操作,并且工作正常,但现在使用stdClass时,我遇到了一个错误
如何将$row->content.''fr'
转换为一个字符串,以便php将其视为$row->content\u fr
?您可以按如下操作:
$row->{'content_fr'};
编辑:顺便说一下,这个问题在这里已经被问过很多次了。请参阅前面的线程,如以下线程:。尝试以下内容:
$lang = 'fr';
$property = 'content_' . $lang; // content_fr
$row->$property = 'something';
试着这样做:
$row -> {'content_' . $language}; // assuming $language = 'fr'
当向下投票时,请留下评论。$row->{'content\u fr'}没有任何意义,因为它与$row->content\u fr相同。问题是字符串串接成一个属性名@Tom van der Woerdt的解决方案正是OP想要的。我+1给出了你的答案,因为这是他需要的,不知道为什么有人再次被否决。@markus,这完全不同,我显示OP可以使用字符串值访问属性。@drew010不,这不是他需要的。如上所述,他需要的是汤姆的答案。是的,这是我写过的最多的一封信!这也是一种很好的替代方法。为什么在答案有效但可能不是OP需要的完整代码时,人们会继续进行向下投票?不知道您的模型是如何设置的,但您应该为列使用getter,这样您就可以实现对列逻辑的本地化(将语言注入模型,ofc)。