web-dev-qa-db-fra.com

PHP - Si le nombre est divisible par 3 et 5 alors echo

Je connais PHP et j'essaie de créer les éléments suivants tout en minimisant la quantité de code nécessaire. PHP devrait afficher une liste de 100 puis afficher si le nombre est/par 3, 5 ou 3 et 5. Sinon, rien ne s'affiche.

C’est ce que j’ai eu jusqu’à présent, mais toute aide serait formidable, car je ne suis pas sûr de l’instantané 3/5, comme vous pouvez le voir ci-dessous. 

<?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>

Merci

15
user2039554

Non ... vous devriez d'abord vérifier si elle est divisible pour 15 (3x5) (ou 3 et 5) et ensuite vous pouvez faire d'autres vérifications:

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

?>

Parce que chaque nombre divisible pour 15 est également divisible pour 3 et 5. Ainsi, votre dernier chèque ne pourrait jamais toucher

26
Luca Rainone

si je lis bien votre question, alors vous recherchez:

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

Version alternative:

echo ($number % 3 ? ($number % 5 ? "BY3 and 5" : "BY 3") : ($number % 5 ? "BY 5" : ""));
4
Neo
$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;
        }
    }
2
pooja haldankar

Pas besoin de faire trois déclarations si:

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>";
2
pbarney
<?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";
}   
?>
1
Prasanth Bendra

Mettez à jour le code comme indiqué ci-dessous 

<?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>";
}
?>

1
Deep123
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";
}
1
KAS

C'est plus propre et terminé pour être exécuté:

<?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>";
                }

}
?>
0
Mr-Programs