2016-10-09 4 views
-2
私は3つの配列を持っている

でテーブルを作成すると: 例えば、3つの配列

$one = array(1, 3, 7, 8, 9); 
$two = array('a', 'd', 'b', 'e', 'r'); 
$three = array('$', '!', '^', '@', '*'); 

は私がやりたい

<table> 
<tr><th>1</th><td>a</td><td>$</td></tr> 
<tr><th>3</th><td>d</td><td>!</td></tr> 
<tr><th>7</th><td>b</td><td>^</td></tr> 
<tr><th>8</th><td>e</td><td>@</td></tr> 
<tr><th>9</th><td>r</td><td>*</td></tr> 
</table> 

が、これは可能ですか?ここで

+2

※「これは可能ですか?」質問に答えました。 – Rizier123

答えて

0

を行うことができますこれらの配列のすべてが同じ数の要素を持つことを前提としています。

まず、すべてのキーをループし、すべての配列をループして、インデックスキーを出力に適用します。

<?php 
$one = array(1, 3, 7, 8, 9); 
$two = array('a', 'd', 'b', 'e', 'r'); 
$three = array('$', '!', '^', '@', '*'); 
?> 
<table> 
<?php 
foreach (array_keys($one) as $val) { 
?> 
<tr> 
<?php 
    foreach(array($one, $two, $three) as $cur){ 
?> 
     <td><?php echo isset($cur[$val]) ? $cur[$val] : null ?></td> 
<?php 
    } 
?> 
</tr> 
<?php 
} 
?> 
</table> 
1

はプロトタイプです:

<?php 
$one = array(1, 3, 7, 8, 9); 
$two = array('a', 'd', 'b', 'e', 'r'); 
$three = array('$', '!', '^', '@', '*'); 
?> 
<table> 
<?php 
if(count($one) === count($two) && count($two) === count($three)) 
{ 
    for($i=0;$i<count($one);$i++) 
    { 
     $format = "<tr><th>%d</th><td>%s</td><td>%s</td></tr>"; 
     echo sprintf($format, $one[$i], $two[$i], $three[$i]); 
    } 
} 
?> 
</table> 
1

あなたはすべての配列は、要素の同じ量を持っているし、すべてが数値インデックスであることを確認している場合、あなたはそれはしかし、これは動作するはず

// table start 
foreach ($one as $key => $o) { 
    printf('<tr><th>%s</th><td>%s</td><td>%s</td></tr>', $one[$key], $two[$key], $three[$key]); 
} 
// table end 
+1

私にそれを打つ:D –

関連する問題