在smarty中显示多维数组元素


Display multidimensional array elements in smarty

可能重复:
智能中的显示阵列元素

我已经合并了两个mysql结果:

while($rs_1 = mysql_fetch_array($r1)) {
    $arr1[] = $rs_1;
}
while($rs_2 = mysql_fetch_array($r2)) {
    $arr2[] = $rs_2;
}
$resN = array_merge($arr1,$arr2);

var_dump($resN)显示以下结果:

array(5) { 
    [0]=> array(4) {
        [0]=> string(6) "Petric" 
        ["bz_pro_first_name"]=> string(6) "Petric" 
        [1]=> string(8) "Naughton" 
        ["bz_pro_last_name"]=> string(8) "Naughton" 
    }
    [1]=> array(4) {
        [0]=> string(6) "Nitish" 
        ["bz_pro_first_name"]=> string(6) "Nitish" 
        [1]=> string(12) "Dolakasharia" 
        ["bz_pro_last_name"]=> string(12) "Dolakasharia"
    }
    [2]=> array(4) {
        [0]=> string(6) "Martin" 
        ["bz_pro_first_name"]=> string(6) "Martin" 
        [1]=> string(3) "Rom" 
        ["bz_pro_last_name"]=> string(3) "Rom"
    }
    [3]=> array(4) { 
        [0]=> string(5) "Steve" 
        ["bz_pro_first_name"]=> string(5) "Steve" 
        [1]=> string(5) "Wough" 
        ["bz_pro_last_name"]=> string(5) "Wough" 
    } 
    [4]=> array(4) {
        [0]=> string(3) "Liz" 
        ["bz_pro_first_name"]=> string(3) "Liz" 
        [1]=> string(6) "Hurley" 
        ["bz_pro_last_name"]=> string(6) "Hurley"
    }
} 

我应该聪明地展示它们,所以:

assign_values('rand_pro',$resN);

现在我试着像这样巧妙地显示:

{foreach name=outer item=pro from=$rand_pro}
                    {foreach key=key item=item from=$pro}
                        {$key}: {$item}<br />
                    {/foreach}
                    {/foreach}

它按顺序显示结果。我需要提取某些位置的值。那么,我如何提取值,例如名字,姓氏等?

{$item.bz_pro_last_name}{$key.bz_pro_first_name}

不确定我是否理解你的问题,但请在你的循环中尝试以上内容。

您可以这样编写foreach循环。

{foreach from=$rand_pro item=pro key=pro_key}
    {$key}: {$pro.bz_pro_first_name} {$pro.bz_pro_last_name}<br />
{/foreach}