很久没用TP了,不知道语法是不是有问题。 思路如下。volist  里面再加一个volist  判断KEY值是否相等。相等则输出数组一里面的title
<volist name="数组二" id="vo">
{$vo.wjb_title}
<volist name="数组一" id="v">
<if condition="$vo['id'] eq $v['v.id']">
{$v.title}
</if>
</volist>

解决方案 »

  1.   

    $v.id取不到数组一的值,数组一的KEY是返序列化出来的
      

  2.   

    $v.id取不到数组一的值,数组一的KEY是返序列化出来的
    可以把数组1定义为$arr,再根据数组2里面的ID ,ID其实为数组1里面的KEY 可以$arr[$vo['id']]获取到。
    <volist name="数组二" id="vo">
    {$vo.wjb_title}
    $arr[$vo['id']]
    </volist>
      

  3.   

    建议使用源生的php来写 ,TP的标签最后也是解析成源生的php,而且代码量相当,速度也会更快
    <?php 
    foreach ($arr1 as $key => $value) {
    foreach ($arr2 as $k => $v) {
    if ($value['id'] == $k)
    {
    print_r($v);
    }
    }
    }
     ?>
      

  4.   

    <volist name="数组二" id="vo">
        <iterate name="数组一" id="it">
            <eq name="vo.id" value="$key">{$it}</eq>
        </iterate>
    </volist>
    这个吧
    数组一里面有些是二维数组,碰到这个情况,输出的是Array,这时候你还得再做个值选择。
      

  5.   

    print_r($v);打印出的有可能是值或数组?