我正在尝试执行以下操作:
<?php foreach($sqlResult as $row): ?>
<tr>
<?php foreach($formdata['columns'] as $column): ?>
<td><?php echo $row->$column['name']; ?></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
这不起作用。
我的mysql查询返回$ row,它有以下内容:$ row-&gt; id,$ row-&gt; author,$ row-&gt; date,$ row-&gt; title和这些工作因为它们回显细
$ columns是以下数组:
'columns' => array
(
1 => array
(
'name' => 'id'
),
2 => array
(
'name' => 'author'
),
3 => array
(
'name' => 'date'
),
4 => array
(
'name' => 'title'
)
它也可以正常工作,因为$ column ['name']回应id,作者,日期,标题
我的问题是如何通过从数组中传递一个名称来访问$ row-&gt;方法(它是一个方法吗?)?
答案 0 :(得分:1)
我不是百分百肯定我明白你想做什么,但我认为你想要这个:
<td><?php echo $row->{$column['name']}; ?></td>
注意大括号。他们确保将$column["name"]
完全解释为您要访问的属性。现在,您正在访问名为$column
的属性及其数组键name
。
答案 1 :(得分:1)
尝试做:
$column_name = $column['name'];
echo $row->$column_name;
或
echo $row->{$column['name']}
无论哪种感觉更具可读性。