如果变量为空,则在循环时断开PHP

时间:2016-08-29 13:44:58

标签: php

我有一个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,

1 个答案:

答案 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。