1

我想要在我的模板文件中这样的东西:

<ul>
<?foreach($friends as $var):?>

        <li>
            <?=$var->name?>
        </li>

<?endforeach ?>
</ul>

我在我的 model.php 中使用它:

$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']?>在我的模板中使用。

4

3 回答 3

0
<ul>
<?
foreach($data as $eachData)
{
 foreach($eachData as $var):?>
  {

        <li>
            <?php echo $var->name?>
        </li>

<?php 
  }
} ?>
</ul>
于 2013-07-30T11:37:05.960 回答
0

$var->name : this is way to get the valus in object.

In arrays to get values use it like this : $var['name']

To convert arrays to object refer this : How to convert an array to object in PHP?

于 2013-07-30T11:37:23.000 回答
0

考虑到这一点:

$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 ?>

您应该过度考虑对数组键的命名。每个值都必须有一个新键,否则您将覆盖之前设置的值。

于 2013-07-30T11:38:49.113 回答