2016-02-04 37 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