我有一个CSV(附在下面),我正在使用PHP循环。注意:Peter
条目缺少Extension
个号码。
如果任何$ cell(如Extension
)为空,我如何打破循环
<?php
echo "<html><body><table>\n\n";
$f = fopen("users.csv", "r");
while (($line = fgetcsv($f)) !== false) {
echo "<tr>";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
fclose($f);
echo "\n</table></body></html>";
〜
Forename,Surname,Extension
Jim,Carey,1973
Peter,Robertson,
答案 0 :(得分:3)
尝试使用此 -
<?php
echo "<html><body><table>\n\n";
$f = fopen("users.csv", "r");
while (($line = fgetcsv($f)) !== false) {
$row = "<tr>";
$is_empty = false;
foreach ($line as $cell) {
if ($cell !== '') {
$row .= "<td>" . htmlspecialchars($cell) . "</td>";
} else {
$is_empty = true;
}
}
$row .= "</tr>\n";
if ($is_empty) {
continue;
} else {
echo $row;
}
}
fclose($f);
echo "\n</table></body></html>";
?>
只有当所有字段都有值时,此解决方案才会打印行。如果你想打破循环,你可以使用break而不是continue。