代码之家  ›  专栏  ›  技术社区  ›  SoLoGHoST

基于多数组中的键计算Rowspans和Colspans的

  •  0
  • SoLoGHoST  · 技术社区  · 15 年前

    我有这两种布局,基本上,它可以是任何真正的布局。我决定使用表来实现这一点,因为使用div标记会在某些可能的布局类型中导致不希望的结果。

    这里有两张图片描述了行和列的返回结果:

    alt text http://acs.graphicsmayhem.com/images/SimpleLayout.png

    这将返回$layout数组,如下所示:

    $layout[0][0]
    $layout[0][1]
    $layout[1][1]
    

    在此布局类型中: $layout[1][0] 没有设置,或者不存在。第1行,第0列在此不存在。那么我们如何利用这个来帮助我们确定行跨度。。。?

    alt text http://acs.graphicsmayhem.com/images/MoreComplexLayout.png

    好,此布局类型现在将返回以下内容:

    $layout[0][0]
    $layout[0][1]
    $layout[1][0]
    $layout[2][0]
    $layout[2][1]
    $layout[3][1]
    

    同样,这里也有一些没有设置:

    $layout[1][1]
    $layout[3][0]
    

    好的,我有一个名为$layout的数组,它对行和列执行foreach操作,但它不获取未设置的行和列。所以我创建了一个for循环(正确计算了有多少行和有多少列)。到目前为止我得到的是:

    // $not_set = array();
    for($x = 0; $x < $cols; $x++)
    {
        $f = 0;
        for($p = 0; $p < $rows; $p++)
        {
            // $f = count($layout[$p]); 
            if(!isset($layout[$p][$x]))
            {
                $f++;
                // It could be a rowspan or a Colspan...
                // We need to figure out which 1 it is!
    
                /*
                $not_set[] = array(
                    'row' => $p,
                    'column' => $x,
                );
                */
            }
    
            // if ($rows - count($layout[$p]))
    
        }
    }
    

    好的,$layout数组有两个键。第一个1是[行],第二个键是[列]。 现在遍历它们并确定是否没有设置好,告诉我要么是rowspan要么是colspan需要放到某个地方。我完全迷路了。

    基本上,我想在这里返回一个数组,如下所示:

    $spans['row'][ row # ][ column # ] = Number of rowspans for that <td> element.
    $spans['column'][ row # ][ column # ] = Number of colspans for that <td> element.
    

    它要么需要一个科尔斯潘要么需要一个罗斯潘,它绝对不会同时需要两个 <td> 元素。另外,上面的图片只显示2列,可以有2列以上。

    任何帮助都将不胜感激!

    1 回复  |  直到 8 年前
        1
  •  0
  •   graphicdivine    15 年前

    为什么不将colspan&rowspan数据存储在原始数组中,而不是尝试导出它们?像这样的:

    $layout[0][0][1][1]
    $layout[0][1][1][1]
    $layout[1][0][2][1]
    $layout[2][0][1][2]
    $layout[2][1][1][1]
    $layout[3][1][1][1]
    
    推荐文章