2016-03-16 107 views
0

在我所有的多年的創作PHP的,我從來沒有碰到過一個場合中,我需要把for循環一個標準的PHP變量中。把循環放入變量中?

原因是:我需要通過JSON請求來傳遞這個變量。

見下面我當前的代碼。

什麼我在這裏做的是寫一個腳本來生成基於用戶需求的標準的HTML表(行&列e.g數)。我需要將所有這些HTML放入一個變量中,並通過JSON請求傳遞該變量,然後解碼並顯示給用戶。

任何意見/建議/技巧將是一個巨大的幫助。

<?php 
$trows = 5; 
$tcolumns = 7; 

echo "<table class='table table-striped table-bordered'>"; 
echo "<thead>"; 
echo "<tr>"; 
for ($th = 0; $th < $tcolumns; $th++){echo '<th>[HEADER]</th>'; 
}; 
echo "</tr>"; 
echo "</thead>"; 
echo "<tbody>"; 
    for ($tr = 0; $tr < $trows; $tr++){ echo '<tr>'; 
     for ($td = 0; $td < $tcolumns; $td++){echo '<td>[CONTENT]</td>'; 
     }; 
     echo "</tr>"; 
    } 
echo "</tbody>"; 
echo "</table>"; 
?> 
+0

你的輸出分配給直接呼應它的變量instad? – maxhb

+0

@maxhb介意說明一下嗎? –

回答

1
<?php 
$trows = 5; 
$tcolumns = 7; 
$result = ""; 
$result .= "<table class='table table-striped table-bordered'>"; 
$result .= "<thead>"; 
$result .= "<tr>"; 
for ($th = 0; $th < $tcolumns; $th++){$result .= '<th>[HEADER]</th>'; 
}; 
$result .= "</tr>"; 
$result .= "</thead>"; 
$result .= "<tbody>"; 
    for ($tr = 0; $tr < $trows; $tr++){$result .= '<tr>'; 
     for ($td = 0; $td < $tcolumns; $td++){$result .= '<td>[CONTENT]</td>'; 
     }; 
     $result .= "</tr>"; 
    } 
$result .= "</tbody>"; 
$result .= "</table>"; 
?> 
+0

啊,是的,這就像一個魅力。謝謝你,先生。 –

-1

使用輸出緩衝:

// Start output buffering 
ob_start(); 

/* 
    Your code here 
*/ 

// Fetch buffered output and save to variable 
$content = ob_get_contents(); 

// End output buffering, flush buffer. This outputs the buffer content 
ob_end_clean(); 

// If you don't want the buffer to be output use this 
// ob_end_clean(); 
1

創建一個變量,說$output,到HTML表存儲在
完成建立你可以做任何你選擇的表之後。用它。打印出來,用它在另一個變量來建立一個json對象。

見下

$output = "<table class='table table-striped table-bordered'>"; 
$output .= "<thead>"; 
$output .= "<tr>"; 

for ($th = 0; $th < $tcolumns; $th++){ 
    $output .= '<th>[HEADER]</th>'; 
}; 

$output .= "</tr>"; 
$output .= "</thead>"; 
$output .= "<tbody>"; 

for ($tr = 0; $tr < $trows; $tr++){ 

    $output .= '<tr>'; 

    for ($td = 0; $td < $tcolumns; $td++){ 
     $output .= '<td>[CONTENT]</td>'; 
    }; 

    $output .= "</tr>"; 
} 

$output .= "</tbody>"; 
$output .= "</table>"; 

echo $output; 
+0

謝謝,亞歷克斯。然而Aju首先發布,所以我必須給他綠色支票。無論如何感謝朋友。 –