我有下面的代碼打開一個CSV文件,並將結果輸出到一個JSON格式。在拆除最後一個項目逗號while循環
不過,我想從while循環中刪除最後,
。有人可以解釋我如何用我當前的代碼做到這一點?
<?php
ini_set('max_execution_time', 300);
$wantedColumns = array(3);
$row = 1;
if (($handle = fopen("data.csv", "r")) !== FALSE) {
echo '{
"data":
[';
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
if (!in_array($c,$wantedColumns)) continue;
if(empty($data[$c])) {
$value = " ";
}else{
$value = $data[$c];
}
if ($row == 1) {
}else{
echo ''.$value.','; // comma added here
}
}
if ($row == 1) {
echo '</tr>';
}else{
echo '</tr>';
}
$row++;
//$value= substr($value, 0, -1);
}
echo ' ]
}';
echo '</tbody></table>';
echo '</center>';
fclose($handle);
}
?>
'$值= SUBSTR($值,-1,1 );'或'$ value = rtrim($ value,',');' –
感謝您的回覆,約翰 - 這是否應該替換標有'//這裏添加的逗號'的位置? – michaelmcgurk
您是否試圖將CSV文件轉換爲JSON字符串?我可以建議*不*手動構建您的JSON?我建議你建立一個數組,然後使用'json_encode()'。 –