PHP - 如果数字可以被3和5整除,那么回声

use*_*554 15 php math

我是PHP的新手,并尝试创建以下内容,同时尽量减少所需的代码量.PHP应该显示100的列表然后显示如果数字是/ 3,5或3和5.如果没有任何显示什么.

这是我到目前为止所得到的,但是任何帮助都会很棒,因为不确定/通过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>
Run Code Online (Sandbox Code Playgroud)

谢谢

Luc*_*one 28

没有......你应该首先检查它是否可以分为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>";

?>
Run Code Online (Sandbox Code Playgroud)

因为每个15分的数字也可以分为3和5.所以你的最后一次检查永远不会被击中


Neo*_*Neo 5

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

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

替代版本:

echo ($number % 3 ? ($number % 5 ? "BY3 and 5" : "BY 3") : ($number % 5 ? "BY 5" : ""));
Run Code Online (Sandbox Code Playgroud)

  • 你永远不会满足第三个条件……要使其成立,前两个条件之一也必须成立。 (4认同)