PHP - 如果数字可被 3 和 5 整除,则回显

2022-08-30 20:42:37

我是PHP的新手,并试图创建以下内容,同时最大限度地减少所需的代码量。PHP应显示100的列表,然后显示数字是否为/乘以3,5或3和5。如果不是任何人,那么什么都不显示。

这就是我到目前为止所得到的,但是任何帮助都会很棒,因为不确定/by 3和5位,如您在下面看到的那样。

<?php $var = range(0, 100); ?>
  <table>
<?php foreach ($var as &$number) {
 echo " <tr>
    <td>$number</td>
    <td>";

    if($number % 3 == 0)  {
    echo "BY3";
} elseif ($number % 5 == 0) {
    echo "BY5";
} elseif ($number % 3 and 5 == 0) {
        echo "BY3 AND 5";
}
 echo "</td></tr>";
}
?>

  </table>

谢谢


答案 1

不。。。您应该首先检查它是否可除15(3x5)(或3和5),然后再进行其他检查:

if($number % 15 == 0)  {
    echo "BY3 AND 5";
} elseif ($number % 5 == 0) {
    echo "BY5";
} elseif ($number % 3 == 0) {
    echo "BY3";
}
 echo "</td></tr>";

?>

因为 15 的每个可除数对于 3 和 5 也是可除的。因此,您的最后一次检查永远不会命中


答案 2

如果我没有正确阅读您的问题,那么您正在寻找:

if ($number % 3 == 0 && $number %5 == 0) {
        echo "BY3 AND 5";
} elseif ($number % 3 == 0)  {
    echo "BY3";
} elseif ($number % 5 == 0) {
    echo "BY5";
}

替代版本 :

echo ($number % 3 ? ($number % 5 ? "BY3 and 5" : "BY 3") : ($number % 5 ? "BY 5" : ""));

推荐