0

フォームでは、PHPを使用して、1から入力した数値までのすべての数値を表示しました。たとえば、フォームに10と入力すると、1 2 3 4 5 6 7 8 9 10と表示されます。ここで、0までカウントして負の数を処理できるようにします(-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0)そして、結果のすべての偶数を太字にします(たとえば、2 4 6 8 10など)。運が悪かったので、答えを徹底的に探しました。これを行うことをどのように提案しますか?最初の部分の私のコードを以下に示します。前もって感謝します。

<?php
$num = $_POST['num'];
$limit = $_POST['num'];

echo "<pre>";   
do {
echo ($counter).'<br>';
$counter++;
} while ($counter <= $limit);
echo "<pre>";
?>
4

1 に答える 1

2

あなたはこれを行うことができます

<?php
$num = $_POST['num'];
$limit = $_POST['num'];

echo "<pre>";   
do {
if( $counter % 2 == 0 )
{
    echo "<strong>" . $counter . "</strong><br />";
}
else
{
    echo ($counter).'<br>';
}
$counter++;
} while ($counter <= $limit);
echo "<pre>";
?>

解決策 1
わかりました。% についての詳細情報です。これはモジュロです。mod数で割ると残りの数が返ってきます。例えば

0 % 2 = 0
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1 this because 3 / 2 = 1 and a bit,
          you can't divide the last 1 completely by 2. So remain 1
4 % 2 = 0

ソリューション 2
クラッシュが言ったように、使用できます$counter & 1。これは何をしますか?

数値をビット単位で見る場合。あなたはそれを1とANDしたい.

Bitwise number 2 = 0010 AND it with 0001 and your return will be 0000 (zero).
Bitwise number 3 = 0011 AND it with 0001 and your result will be 0001 (one).

そこまで行って最後のビットだけ確認すれば、偶数かどうかがわかります。ビット演算の詳細。

于 2013-01-29T18:26:35.777 に答える