0
我有一點PHP代碼,它從CSV文件獲取信息,將其存儲在數組中,然後將數據顯示在HTML表格中。我的代碼當前使用一系列for循環來顯示錶頭(鍵)和表格內容(步驟)。我遇到的問題是我無法弄清楚如何讓代碼遍歷並列出每一個信息數組,現在它只顯示最後一個(在每個循環中顯示的數量由$ x變量指定)PHP循環列出數組中的所有項目,而不僅僅是最後一個
如果有人可以幫助我在這將大大appriciated表使用foreach循環獲得超過一個單一的價值,我的代碼如下:
<?PHP
// Deals with potential MAC line endings
ini_set("auto_detect_line_endings", true);
// Define function to read info from .CSV
function readCSV($csvFile)
{
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle))
{
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
}
// Locate the .CSV to read
$csvFile = '500.csv';
$csv = readCSV($csvFile);
// Uses first line of .CSV for keys
$keys = $csv[0];
// For loop to set how many arrays to print
for ($x=1; $x <=2; $x++)
{
$step = $csv[$x];
foreach ($step as $k => $v)
{
$array[$keys[$k]] = $v;
}
echo '<pre>';
print_r($array);
echo '</pre>';
}
// Use data from arrays to build HTML table
print "<table>";
// Header
print "<tr>";
for ($x=0; $x <=10; $x++)
{
print "<th>$keys[$x]</th>";
}
print "</tr>";
//Field data
print "<tr>";
for ($x=0; $x <=10; $x++)
{
print "<td>$step[$x]</td>";
}
print "</tr>";
'readCSV()'不是一個本地的PHP函數。這將有助於看到這個定義。除此之外,你只得到兩行(標題加一行數據),因爲你明確地只輸出兩行。你的循環創建你的列,而不是你的行。 –
爲什麼不迭代'$ array'?你可以發佈它的print_r嗎? –
'$ x <= 2'應該是'$ x
Walf