Я новичок в 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>
благодаря
Нет … вы должны сначала проверить, если он делится на 15 (3×5) (или 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. Таким образом, ваш последний чек никогда не ударил
если я правильно читаю ваш вопрос, то вы ищете:
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" : ""));
$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; } }
Обновите код, как указано ниже.
<?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>"; } ?>
<?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"; } ?>
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"; }
Нет необходимости делать три заявления:
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>";