2016-02-04 40 views
1

我试图在3x4表中输出这些数组。目前它只输出1列数组中新行中每个数组的第一个值。虽然它应该是3列'质量点','质量'和'q'彼此相邻。然后在新行 '技术', '科技' 和 'T' 旁边的海誓山盟等使用implode的表中的PHP数组()

Output screenshot

<?php 
$Array1 = array('qualitypoint', 'technologies', 'India','Hey'); 
$Array2 = array('quality', 'tech', 'Ind','He'); 
$Array3 = array('q', 't', 'I','H'); 
echo '<table border = "3px">'; 
echo '<tr><td>' . implode('</tr><tr>', $Array1).'</td></tr>'; 
echo '<tr><td>' . implode('</tr><tr>', $Array2).'</td></tr>'; 
echo '<tr><td>' . implode('</tr><tr>', $Array3).'</td></tr>'; 
echo '</table>'; 
?> 
+0

你能告诉你想要的结果吗?它真的让你感到困惑? –

回答

1

忘记所有那些会在第一次可能的机会上破碎的内爆混乱。首先重构你的数组并将它们合并成1个数组。

$Array[1] = array('qualitypoint', 'technologies', 'India','Hey'); 
$Array[2] = array('quality', 'tech', 'Ind','He'); 
$Array[3] = array('q', 't', 'I','H'); 

后来干脆

echo '<table>'; 
echo '<table>'; 
for($i=0;$i<=3;$i++) 
{ 
    echo "<tr>"; 
    for($j=1;$j<=3;$j++) 
    {  
    echo "<td>{$Array[$j][$i]}<td>"; 
    } 
    echo "</tr>";  
} 
echo '</table>'; 

输出

table> 
<tr> 
    <td>qualitypoint<td> 
    <td>quality<td> 
    <td>q<td> 
</tr> 
<tr> 
    <td>technologies<td> 
    <td>tech<td> 
    <td>t<td> 
</tr> 
<tr> 
    <td>India<td> 
    <td>Ind<td> 
    <td>I<td> 
</tr> 
<tr> 
    <td>Hey<td> 
    <td>He<td> 
    <td>H<td> 
</tr> 
</table> 

提示您可以使用count()而不用担心硬编码环的极限。通过这种方式,您可以在不更改代码的情况下尽可能多地缩放数据。

+0

这工作,但再次是4×3表不是3×4。不管怎么说,多谢拉。 – Max

+0

已经为此更新:) –

+0

好吧非常感谢你!将会使用它,因为它比Werner的答案更清晰,更易于改变。谢谢Hanky Panky! – Max

4

implode('</td><td>', $Array1)

implode('</td><td>', $Array2)

implode('</td><td>', $Array3)

竞猜这是你想要做的... 要使用td而不是tr

+0

我需要一个不是4x3的3x4表,'质量点','质量'和'q'应该在他们自己的专栏中彼此相邻。不过谢谢你。 – Max

+0

'echo'​​'。 $ Array1 [0]。 '​​'。 $ Array2 [0]。 '​​'。 $ Array3 [0]。 '';' 'echo'​​'。 $ Array1 [1]。 '​​'。 $ Array2 [1]。 '​​'。 $ Array3 [1]。 '';' 'echo'​​'。 $ Array1 [2]。 '​​'。 $ Array2 [2]。 '​​'。 $ Array3 [2]。 '';' 所以这就是你所需要的? 你可以用循环的编写... –

+0

Hanky得到了我需要的东西,无论如何非常感谢你的帮助! – Max

2

如果需要,也可以将阵列保持原样。但是内爆不能以这种方式使用。这也适用于你:

$Array1 = array('qualitypoint', 'technologies', 'India','Hey'); 
$Array2 = array('quality', 'tech', 'Ind','He'); 
$Array3 = array('q', 't', 'I','H'); 

echo '<table border = "3px">'; 
foreach($Array1 as $key => $value){ 
echo '<tr><td>' . $Array1[$key] .'</td><td>' . $Array2[$key] .'</td><td>' . $Array3[$key] .'</td></tr>'; 
} 
echo '</table>'; 
+0

这工作如何我想要它,非常感谢你的帮助! – Max