Smarty和阵列

时间:2011-06-13 21:04:39

标签: php smarty

我想在Smarty中将此数组加载为表格。

阵列:

Array
(
    [0] => Array
        (
            [name] => VS1
            [price] => 350
            [ram] => 256
            [cpu] => 2267
            [hdd] => 5
            [traff] => 0
            [os] => Linux
            [country] => Russia
        )

    [1] => Array
        (
            [name] => VS2
            [price] => 465
            [ram] => 512
            [cpu] => 2267
            [hdd] => 5
            [traff] => 0
            [os] => Linux
            [country] => Russia
        )
)

在源代码中,我想要这个

    <tr>
                    <td>VS1</td>
                    <td>350</td>
                    <td>256</td>
                    <td>2267</td>
                    <td>5</td>
                    <td>0</td>
                    <td>Linux</td>
                    <td>Russia</td>
    </tr>

    <tr>
                    <td>VS2</td>
                    <td>465</td>
                    <td>512</td>
                    <td>2267</td>
                    <td>5</td>
                    <td>0</td>
                    <td>Linux</td>
                    <td>Russia</td>
    </tr>

这可能吗?我正在尝试foreach周期,但没有结果。 你能给我一份有效的Smarty代码吗?

3 个答案:

答案 0 :(得分:10)

foreach总是为我工作。让我们假设,$smarty是您已经初始化且工作灵巧的3实例,$arr是您的数组。

你需要在php中将数组分配给smarty:

$smarty->assign('arr', $arr);

然后你在模板中使用foreach遍历它:

{foreach $arr as $item}
    <tr>
        <td>{$item.name}</td>
        <td>{$item.price}</td>
        <td>{$item.ram}</td>
        ....
    </tr>
{/foreach}

答案 1 :(得分:2)

这应该可以解决问题;)

{foreach from=$myArr item="row"}
    <tr>
        {foreach from=$row item="col"}
            <td>{$col}</td>
        {/foreach}
    </tr>
{/foreach}

答案 2 :(得分:1)

{foreach from=$myArray item=foo}
    <li>{$foo}</li>
{/foreach}


{foreach $arr as $item}
{/foreach}

注意另一种写作方式......检查你的Smarty版本是否正确。