我正在使用PHP foreach循環,我需要它輸出一些特定的HTML,具體取決於它正在吐出哪個數組值。PHP foreach循環幫助
每當foreach循環遇到$content['contentTitle']
我需要它插入一個新表,然後從那裏繼續。實質上,我希望循環在每次找到新的contentTitle時吐出一個新表,但隨後將數組中的其餘數據添加爲tr
和td
's。
我正在使用PHP foreach循環,我需要它輸出一些特定的HTML,具體取決於它正在吐出哪個數組值。PHP foreach循環幫助
每當foreach循環遇到$content['contentTitle']
我需要它插入一個新表,然後從那裏繼續。實質上,我希望循環在每次找到新的contentTitle時吐出一個新表,但隨後將數組中的其餘數據添加爲tr
和td
's。
假設$content
一些家長數組的元素,並且該家長數組中的第一項確實有contentTitle
條目,那麼你會做這樣的事情:
$first = true;
echo "<table>\n"; // start initial table
foreach ($stuff as $content) {
if ($content['contentTitle']) {
if (!$first) {
// If this is NOT the $first run through, close the previous table
$first = false; //... and set the sentinel to false
echo "</table>\n";
}
// output the contentTitle
echo <<<EOF
<h1>{$content['contentTitle']}</h1>
<table>
EOF;
} else {
// otherwise output the regular non-title content
echo <<<EOF
<tr>
<td>{$content['this']}</td>
<td>{$content['that']}</td>
<td>{$content['somethingelse']}</td>
</tr>
EOF;
}
}
好吧,在你的循環內添加一個if
條件。如果它擊中$ content ['contentTitle'],則關閉上一個表並開始一個新表。
foreach($content as $key=>$value){
if($key == "contentTitle"){
echo "<table>";
}
else{
echo "<tr><td>";
}
}
你能請重寫你的問題?這完全是不可理解的。還請提供一些代碼或至少預期的輸入/輸出。 – Crozin 2010-03-20 13:05:38
*(提示)*沒有'array_spit()'和交替修飾不是可選的。 – Gordon 2010-03-20 13:51:07
-1,因爲你可以從你的問題中唯一可以看出你正在使用基於表格的佈局。學習編寫HTML,__then__學會編寫PHP。 – aaronasterling 2010-08-11 10:24:34