我看不到树木,请指出我正确的方向。
我有一个mysql查询并将行检索为对象。这很好用。 现在,我想用数据库中的值填充对象的数组。 这个对象($ myobject)有几个数组(即$ myobject-> field_1)。这些数组包含各种语言中某个字段的(多个)值,因此它可能是......比如$ myobject-> field_1 ['en'] [0] ='value'。这是我试图做的事情:
$query = 'SELECT t.id, t.lang, t.val FROM table t';
$result = db_query($query); // custom db layer function
foreach ($result AS $row) {
$fieldname = 'field_'.$row->id;
$myobject->$fieldname[$row->lang][] = $row->val;
}
最后一行不起作用。由于我不知道,已经为一种语言存储了多少个值,我只想在数组的末尾添加([])一个值。
我错过了哪个巧妙的技巧?
答案 0 :(得分:1)
你可以试试这个:
$query = 'SELECT t.id, t.lang, t.val FROM table t';
$result = db_query($query); // custom db layer function
foreach ($result AS $row) {
$fieldname = 'field_'.$row->id;
$myobject->{$fieldname}[$row->lang][] = $row->val;
}
注意最后一行$ fieldname周围的大括号