当前位置: 代码迷 >> PHP >> tp数组输出,该怎么解决
  详细解决方案

tp数组输出,该怎么解决

热度:338   发布时间:2016-04-28 18:44:17.0
tp数组输出
数组一

array (size=6)
  10 => string '准备买' (length=9)
  11 => string '不准备换' (length=12)
  12 => 
    array (size=2)
      0 => string '3厢小轿车' (length=13)
      1 => string '城市SUB' (length=9)
  13 => string '33333' (length=5)
  14 => 
    array (size=2)
      0 => string '中型' (length=6)
      1 => string '小巧型' (length=9)
  15 => string '全险' (length=6)

数组二

array (size=6)
  0 => 
    array (size=11)
      'id' => string '10' (length=2)
      'wjb_title' => string '请问你现在有车吗?' (length=27)

  1 => 
    array (size=11)
      'id' => string '11' (length=2)
      'wjb_title' => string '请问您近期准备换车吗?' (length=33)

  2 => 
    array (size=11)
      'id' => string '12' (length=2)
      'wjb_title' => string '你喜欢什么类型的车?' (length=30)

  3 => 
    array (size=11)
      'id' => string '13' (length=2)
      'wjb_title' => string '你购车用途' (length=15)

  4 => 
    array (size=11)
      'id' => string '14' (length=2)
      'wjb_title' => string '你喜欢SUV中的哪一款' (length=27)

  5 => 
    array (size=11)
      'id' => string '15' (length=2)
      'wjb_title' => string '你购车主要用在' (length=21)


<volist name="数组二" id="vo">
{$vo.wjb_title}
当id=数组一的键值,读取键值对的数据;
例如id=10就读取10 => string '准备买' (length=9)里的值?
</volist>
------解决方案--------------------
很久没用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>
------解决方案--------------------
建议使用源生的php来写 ,TP的标签最后也是解析成源生的php,而且代码量相当,速度也会更快


<?php 
foreach ($arr1 as $key => $value) {
foreach ($arr2 as $k => $v) {
if ($value['id'] == $k)
{
print_r($v);
}
}
}
 ?>

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