17

私は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>

ありがとう

4

9 に答える 9

37

いいえ...最初に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 でも割り切れるからです。つまり、最後のチェックがヒットすることはありません。

于 2013-02-04T12:21:17.190 に答える
4

私があなたの質問を正しく読んでいるなら、あなたは探しています:

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" : ""));
于 2013-02-04T12:14:07.917 に答える
2
$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;
        }
    }
于 2014-11-16T10:46:34.737 に答える
1
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";
}
于 2013-02-04T12:36:21.113 に答える
1

以下のようにコードを更新します

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

于 2013-02-04T12:16:25.243 に答える
1
<?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";
}   
?>
于 2013-02-04T12:22:49.140 に答える
0

これはよりきれいで、実行するために完了しています:

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

}
?>
于 2018-12-27T09:25:14.033 に答える