PHP中有一个对象名为$item
,在这个对象中我有以下属性
title , title_cn, title_tw
我想创建一个根据语言自动生成属性的函数,所以我编码如下:
<?= $item->title . set_lang(); ?>
和功能:
function set_lang() {
$CI =& get_instance();
$lang = $CI->session->userdata('site_lang');
if ($lang == "english") {
return "";
} else if ($lang == "zh_tw") {
return "_tw";
} else if ($lang == "zh_cn") {
return "_cn";
}
}
但是,名称没有正确生成,它只是 $item->title 附加了 lang 代码字符串,例如my title 1234_tw, titleABC_cn
etc...
如何动态生成属性?感谢您的帮助
你应该首先连接$item->title
onto set_lang()
并将其放入变量中。
然后,您可以使用该变量来调用 obj 上的正确属性。
example
$itemLangTitle = $item->title . set_lang();
echo $item->$itemLangTitle
您可以动态地使用变量作为属性,但要一如既往地小心用户输入!
另外,您还需要确保该属性存在,否则您会收到错误。因此,请确保如果这不会产生任何结果,则应回退到英文命名或其他无障碍的名称;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)