【问题标题】:How to print two arrays and use explode如何打印两个数组并使用explode
【发布时间】:2014-04-15 15:14:16
【问题描述】:

如何打印出两个关联数组并使用循环来分解第二个数组值? 问题来了

数组属性限制为 3 个值,值限制为 4 个。

[attributes] => Array ( [0] => Array ( [attribute] => Colour ) [1] => Array ( [attribute] => Size ) )
[values] => Array ( [0] => Array ( [value] => Red,Green,Blue ) [1] => Array ( [value] => Large,Medium,Small ) ) 

如果有帮助,我可以将值的键保存为属性名称:

Array ( [colour] => Red,Green,Blue )

代码:

foreach ($attributes as $k => $v)
{
    echo "<b>" .$v['attribute'] ."</b>"."<br>";

    foreach ($values as $val)
    {

        $value = $val['value'];
        $expld = explode(",", $value);
        foreach ($expld as $explval)
        {
            $qryString = array( 'search' => $search,
                                'attr' => $explval
                              );

            echo anchor('products/item_search?'. http_build_query($qryString), $explval) ."<br>";
        }
    }
}

【问题讨论】:

    标签: php arrays loops explode


    【解决方案1】:

    您不想循环内部循环中的所有$values,您只想分解与当前属性具有相同索引的那个并循环这些。

    foreach ($attributes as $index => $v) {
        echo "<b>{$v['attribute']}</b><br>";
        foreach (explode(',', $values[$index]['value']) as $explval) {
            $qryString = array( 'search' => $search,
                                'attr' => $explval
                              );
            echo anchor('products/item_search?'. http_build_query($qryString), $explval) ."<br>";
        }
    }
    

    【讨论】:

      【解决方案2】:
       for ($i = 0; $i<count($attributes); $i++)
        {
          echo "<b>" .$attributes[$i]['attribute'] ."</b>"."<br>";
      
      
              $expld = explode(",", $values[$i]['value']);
              foreach ($expld as $explval)
              {
                  $qryString = array( 'search' => $search,
                      'attr' => $explval
                  );
      
                  echo anchor('products/item_search?'. http_build_query($qryString),$explval) ."<br>";
              }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2013-05-06
        • 2022-11-17
        • 1970-01-01
        • 2018-01-29
        • 2015-03-01
        • 1970-01-01
        • 2019-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多