基于某些限制在html表中显示数据

时间:2015-02-05 18:35:47

标签: php

$ ABC =阵列(1,2,3,4,5,6,7,8);

$ XYZ =阵列(A,B,C,d,E,F);

我想以所需的格式从上面的两个数组中检索数据(实际上那些数组是从数据库表生成的)。数据将显示在html TABLE中。我使用过PHP MYSQL。这些值可能不是按示例显示的顺序,但有两个不同的数组。为了更清楚,我想说奇数列(从第一列开始)将显示 array abc 的值,甚至会显示 array xyz 的值。 请帮帮我。提前谢谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

这是一个非常有趣的问题。我想我找到了解决方案。

function table (array $array1, array $array2, $splitIndex)
    {
    $rows = array ();
    $currentRow = 0;

    // Make sure $array1 is the bigger of them
    if (count ($array2) > count ($array1))
    {
        $arrayTemp = $array2;
        $array2 = $array1;
        $array1 = $arrayTemp;
    }

    // Loop over each element of the array
    foreach ($array1 as $index => $arrayValue)
    {
        $rows [$currentRow] [] = $arrayValue;
        if (isset ($array2 [$index]))
            $rows [$currentRow] [] = $array2 [$index];
        else
            $rows [$currentRow] [] = '';

        $currentRow = ($currentRow == $splitIndex ? 0 : $currentRow + 1);
    }
    $output = '<table>';

    // Loop over the rows
    foreach ($rows as $row)
    {
        $subOutput = '<tr>';

        // Loop over the columns in the rows
        foreach ($row as $element)
            $subOutput .='<td>'. $element .'</td>';

        $output .= $subOutput .'</tr>';
    }

    // Return the output altogether.
    return $output .'</table>';
}

现在你可以使用:

echo table ([ 'i', 'b', 'a', 'e', 'b' ], ['1', '2', '3'], 2);

2指示它将在每两行分割,就像你的例子中的那样。