4

我有两个数组:

$token = array('technology', 'languange', 'town', 'gadget', 'smartphone');

$num = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25);

如何使用以下方法将该数组显示到表中:

===========================================

|----令牌-----| 数字1 | 数字2 | 数字3 | 数字4 | 数字5 |

|-技术-|---1----|---2----|---3----|---4----|---5----|

|--语言--|---6----|---7----|---8----|---9----|---10--- -|

|-----城镇-----|---11---|---12---|---13---|---14---|---15- --|

|----小工具----|---16----|---17---|---18---|---19---|---20-- -|

|-智能手机-|---21---|---22---|---23---|---24---|---25---|

===========================================

这是我的代码:

...
$counttoken = count($token);
foreach($token as $key=>$value)
        {
            echo "<tr><td>$value</td>";
            for($i=0; $i<$counttoken;$i++)
            {
                echo "<td>" .$num[$i]. "</td>";
            }
        }
...

但是,结果是:

===========================================

|----令牌-----| 数字1 | 数字2 | 数字3 | 数字4 | 数字5 |

|-技术-|---1----|---2----|---3----|---4----|---5----|

|--语言--|---1----|---2----|---3----|---4----|---5--- -|

|-----城镇-----|---1----|---2----|---3----|---4----|- --5----|

|----小工具----|---1----|---2----|---3----|---4----|--- 5----|

|-智能手机-|---1----|---2----|---3----|---4----|---5----|

===========================================

我应该怎么办?

4

7 回答 7

5

尝试这个:

$counttoken = count($token);
$k=0;
foreach($token as $key=>$value)
    {
        echo "<tr><td>$value</td>";
        for($i=0; $i<$counttoken;$i++)
        {
            echo "<td>" .$num[$k++]. "</td>";
        }
    }
于 2013-05-07T07:04:45.437 回答
1

试试这个它正在工作。我根据你的要求检查了这个。

<?php
$token = array('technology', 'languange', 'town', 'gadget', 'smartphone');

$num = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25);

$counttoken = count($token);
echo "<table>";
foreach($token as $key=>$value)
{
    echo "<tr><td>$value</td>";
    for($i=0; $i<$counttoken;$i++)
    {
        echo "<td>" .$num[$i + ($key * $counttoken)]. "</td>";
    }
    echo "</tr>";
}
echo "</table>";
?>
于 2013-05-07T07:09:42.910 回答
0
try this   

    $counttoken = count($token);

    foreach($token as $key=>$value)
            {  
                echo "<tr><td>$value</td>";
                for($i=0; $i<$counttoken;$i++)
                {
                    echo "<td>" .$num[$i]. "</td>";
                }
                $num = array_slice($num,$counttoken); 

            }
于 2013-05-07T07:12:58.133 回答
0

下面是代码,可以帮助你

$counttoken = count($token);
$cnt = 0;
foreach($token as $key=>$value)
        {
            echo "<tr><td>$value</td>";
            for($i=0; $i<$counttoken;$i++)
            {
                if(isset($num[($i+$cnt)]))
                {
                    echo "<td>" .$num[($i+$cnt)]. "</td>";
                }
                else
                {
                    echo "<td>&nbsp;</td>";
                }

            }
            $cnt=$cnt+$counttoken;
        }
于 2013-05-07T07:13:19.873 回答
0

不需要$num数组...另一种可能的解决方案,它会随着您向数组添加更多令牌而自动调整$token...

<? $token = array('technology', 'languange', 'town', 'gadget', 'smartphone'); ?>
<? $tc = count($token); ?>
    <table>
        <thead>
            <tr>
                <th>Token</th>
                <? for($j=1;$j<=$tc;$j++):?>
                    <th>num<?= $j;?></th>
                <? endfor;?>
            </tr>
        </thead>
        <tbody>
            <? foreach($token as $tK => $tV):?>
            <tr>
                <td><?= $tV?></td>
                <? for($i = ($tK*$tc + 1); $i <= ($tK*$tc + $tc) ; $i++):?>
                    <td><?= $i;?></td>
                <? endfor;?>
            </tr>
            <? endforeach;?>
        </tbody>
    </table>
于 2013-05-07T07:19:35.337 回答
0

嗨对不起只分享代码。请参阅下面的代码说明。

我们有两个数组,token 和 num 我们的输出应该是

科技 1 2 3 4 5 \n 语言 6 7 8 9 10 \n 城镇 11 12 13 14 15

所以请参阅我在代码中的评论

       <?php
        $token = array('Technology', 'languange', 'town', 'gadget', 'smartphone');
        $num = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25);
        $counttoken = count($token);
        $k = 0;
        foreach($token as $value)
        {
            echo "<tr><td>".$value."</td>"; // here i am just printing the token value like 'Technology'
            for($i=0; $i<$counttoken;$i++)
            {
                if(isset($num[$i+$k]))
                {
                    echo "<td>" .$num[$i+$k]. "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>";// for first loop of token it will print value of $num[0] to $num[4] means 1,2,3,4,5 and for second loop of token it will print $num[5+0] to $num [5+4] means 6,7,8,9,10 etc
                }
                else
                {
                    echo "<td>&nbsp;</td>";
                }
            }
            $k=$k+$counttoken;     // increase the value of $k for spliting $num array in 5 interval
            echo "</tr><br>"; // for new line
        }       
        ?>
于 2016-06-27T19:56:57.143 回答
0
<?php
function matrics($int){
$j = $int*$int;
for($i=1;$i<=$j;$i++){
    echo $i.' ';
        if($i%$int==0)
        echo '<br/>';
}
}

matrics(4);

?>
于 2017-06-22T10:29:36.463 回答