Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php将字符串追加到stdClass对象_Php_Concatenation_Stdclass - Fatal编程技术网

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)。