2014-06-16 125 views
0

我有一個9行的表。第一列應打印排名參與者的姓名。首先,我沒有包含它們的名稱的數組:獲取PHP數組值並打印在一個循環中

$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques"); 

對於這個任務,我編寫與5行10列循環。所以,正如我所提到的,第一列應該列出每一個的名稱。

for($x=1; $x<=count($names); $x++) { 
    echo "<tr>"; 
    for($td=1; $td<=10; $td++) { 
    echo "<td></td>"; 
    } 
    echo "</tr>"; 
} 

正如你所看到的,是<tr>循環和<td>一個循環中!如何在第一行打印每個名字?

+0

奇怪的是張貼在這個問題在這裏沒有理由的變化。 http://stackoverflow.com/questions/24236603/get-php-array-values-and-print-it-on-different-columns – JakeGould

回答

0
$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques"); 
for($td=0; $td<=9; $td++) { 
    echo "<tr>"; 
    if ($td == 0) { 
    foreach ($names as $name) { 
     echo "<td>$name</td>"; 
    } 
    } 
    echo "<td></td>"; 
    echo "</tr>"; 
} 
0

先打印姓名再打印9更多td。 (後來換$ x在0count($names)-1以匹配的$names指數)

for($x=0; $x<count($names); $x++) { 
    echo "<tr>"; 
    echo "<td>$names[$x]</td>"; 
    for($td=2; $td<=10; $td++) { 
    echo "<td></td>"; 
    } 
    echo "</tr>"; 
} 
+0

這效果更好!乾杯! = d –

0

使用foreach環路和array_fill爲空單元

// Set the names array. 
$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques"); 

// Set the table cell start key. 
$table_cell_start_key = 0; 

// Set the table cell count. 
$table_cell_count = 9; 

// Set the table cells. 
$table_cells = implode("", array_fill($table_cell_start_key, $table_cell_count, '<td></td>')); 

// Loop through the names array & echo output. 
foreach($names as $name) { 
    echo "<tr>" 
    . "<td>$name</td>" 
    . $table_cells 
    . "</tr>" 
    ; 
} 

有關使用的好處array_fill是你可以簡單地設置$table_cells的值提前foreach循環。然後foreach循環只是渲染基礎上,$names和多餘的表格單元格的內容只是滴入。