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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14686533/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 07:48:20  来源:igfitidea点击:

PHP - If number is divisible by 3 and 5 then echo

phpmath

提问by user2039554

I'm new to PHP and trying to create the following whilst minimizing the amount of code needed. PHP should show a list of 100 then display if the number is / by 3, 5 or 3 and 5. If not by any then show nothing.

我是 PHP 新手,并尝试创建以下内容,同时最大限度地减少所需的代码量。PHP 应该显示一个 100 的列表,然后显示数字是 / by 3、5 还是 3 和 5。如果不是,则不显示任何内容。

This is what I've got so far, but any help would be great since not sure about the / by 3 and 5 bit as you can see below.

这是我到目前为止所得到的,但任何帮助都会很好,因为不确定 / 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>

Thanks

谢谢

回答by Luca Rainone

Nope... you should check first if it's divisble for 15 (3x5) (or 3 and 5) and after you can do other checks:

不......你应该首先检查它是否可以被 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>";

?>

Because every number divisble for 15 is also divisble for 3 and 5. So your last check could never hit

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

回答by Neo

if I'm reading your question correct then you are looking for :

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

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

Alternative version :

替代版本:

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

回答by pooja haldankar

$num_count = 100;
    $div_3 = "Divisible by 3";
    $div_5 = "Divisible by 5";
    $div_both = "Divisible by 3 and 5";
    $not_div = "Not Divisible by 3 or 5";

    for($i=0;$i<=$num_count;$i++)
    {
        switch($i)
        {
            case ($i%15==0):
            echo $i." (".$div_both.")</br>";
            break;
            case ($i%3==0):
            echo $i." (".$div_3.")</br>";
            break;
            case ($i%5==0):
            echo $i." (".$div_5.")</br>";
            break;
            default:
            echo $i."</br>";
            break;
        }
    }

回答by pbarney

No need to do three if statements:

不需要做三个 if 语句:

echo "<table border='1'>";

for ($i = 1; $i <= 100; $i++) {

    echo "<tr><td>{$i}</td><td>";

    if ($i % 3 == 0) echo "BY3 ";
    if ($i % 5 == 0) echo "BY5";

    echo "</td></tr>\n";
}
echo "</table>";

回答by Deep123

Update the code as given below

更新代码如下

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

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

回答by Prasanth Bendra

<?php

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

回答by KAS

if($number % 15 == 0)  
{
     echo "Divisible by 3 and 5";
} 
elseif ($number % 5 == 0) 
{
    echo "Divisible by 5";
} 
elseif ($number % 3 == 0) 
{
 echo "Divisible by 3";
}

回答by Mr-Programs

This is neater and completed to be run:

这是更整洁和完整的运行:

<?php

for ($i = 1; $i <= 100; $i++) { 
                if ($i % 15 == 0)
                {
                    echo"Divisible by 3 and 5</br>";
                }
                elseif ($i%3==0)
                {
                    echo"Divisible by 3</br>";
                }
                elseif ($i%5==0)
                {
                    echo"Divisible by 5</br>";
                }
                else
                {
                    echo $i,"</br>";
                }

}
?>

回答by Noobie

      <?php

for ($i = 1; $i <= 100; $i++) {

    if ($i % 15 == 0) echo "This Number is Divisible by 3 and 5<br>";
    else if ($i % 3 == 0) echo "This Number is Divisible by 3 only<br>";
    else if ($i % 5 == 0) echo "This number is Divisible by 5 only<br>";
    else{
        echo "$i<br>";
    }

}

   ?>