我希望在我的模板文件中有这样的东西:
<ul>
<?foreach($friends as $var):?>
<li>
<?=$var->name?>
</li>
<?endforeach ?>
</ul>
我在我的模型中使用这个。hp:
$data = array('friends' => array(
array('name' => 'testname'),
array('name' => 'testname2')
));
// missing code here ?
extract($data, EXTR_SKIP);
include('template_file.html');
如何使用$var->name访问模板文件中的对象"name"?
$data=array()已设置。
更新:
这是因为,我不想在我的模板中使用<?=$var['name']?>
。
<ul>
<?
foreach($data as $eachData)
{
foreach($eachData as $var):?>
{
<li>
<?php echo $var->name?>
</li>
<?php
}
} ?>
</ul>
$var->name
:这是获取对象中valus的方法。
在数组中,要获取值,请这样使用:$var['name']
要将数组转换为对象,请参阅以下内容:如何在PHP中将数组转换成对象?
考虑到这一点:
$data = array('friends' => array(
array('name' => 'testname'),
array('name' => 'testname2')
));
<?foreach($data['friends'] as $var):?>
<li>
<!-- $var will be testname2 -->
<?=$var; ?>
</li>
<?endforeach ?>
<?foreach($data['friends'] as $key => $var):?>
<li>
<!-- $var will be testname2, $key will be "name" -->
<?=$var; ?>
</li>
<?endforeach ?>
您应该过多考虑数组键的命名。每个值都必须有一个新键,否则将覆盖以前设置的值。