在PHP中找出一个数字/变量是奇数还是偶数的最简单最基本的方法是什么? 这和mod有关吗?

我试过一些剧本,但是…谷歌目前没有发送。


当前回答

//checking even and odd
$num =14;

$even = ($num % 2 == 0);
$odd = ($num % 2 != 0);

if($even){
    echo "Number is even.";
} else {
    echo "Number is odd.";
}

其他回答

我是在假设已经有了一个计数器。在$i中,它在循环结束时递增,这对我来说是使用一个速记查询。

$row_pos = ($i & 1) ? 'odd' : 'even';

它会做什么呢,它会查询我们所做的语句实际上$i是奇数,取决于它的真或假将决定返回什么。返回值填充变量$row_pos

我的使用这是把它放在foreach循环,在我需要它之前,这使它成为一个非常有效的一行给我适当的类名,这是因为我已经有一个id的计数器,以便在程序后面使用。这是一个简短的例子,我将如何使用这一部分。

<div class='row-{$row_pos}'> random data <div>

这给了我奇数和偶数类在每一行,所以我可以使用正确的类和条纹我的打印结果在页面。

我使用的完整示例注意到id应用了计数器,类应用了奇数/偶数结果:

$i=0;
foreach ($a as $k => $v) {

    $row_pos = ($i & 1) ? 'odd' : 'even';
    echo "<div id='A{$i}' class='row-{$row_pos}'>{$v['f_name']} {$v['l_name']} - {$v['amount']} - {$v['date']}</div>\n";

$i++;
}

总之,这为创建漂亮的表提供了一种非常简单的方法。

检查偶数或奇数不使用条件和循环语句。

这对我很有用!

$(document).ready(function(){ $("#btn_even_odd").click(function(){ var arr = ['Even','Odd']; var num_even_odd = $("#num_even_odd").val(); $("#ans_even_odd").html(arr[num_even_odd % 2]); }); }); <!DOCTYPE html> <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <title>Check Even Or Odd Number Without Use Condition And Loop Statement.</title> </head> <body> <h4>Check Even Or Odd Number Without Use Condition And Loop Statement.</h4> <table> <tr> <th>Enter A Number :</th> <td><input type="text" name="num_even_odd" id="num_even_odd" placeholder="Enter Only Number"></td> </tr> <tr> <th>Your Answer Is :</th> <td id="ans_even_odd" style="font-size:15px;color:gray;font-weight:900;"></td> </tr> <tr> <td><input type="button" name="btn_even_odd" id="btn_even_odd" value="submit"></td> </tr> </table> </body> </html>

PHP自动将null和空字符串转换为0。对模也是这样。因此,代码将

$number % 2 == 0 or !($number & 1)

$number = "或$number = null 结果为true。 因此,我对它进行了更广泛的测试:

function testEven($pArg){
    if(is_int($pArg) === true){
        $p = ($pArg % 2);
        if($p === 0){
            print "The input '".$pArg."' is even.<br>";
        }else{
            print "The input '".$pArg."' is odd.<br>";
        }
    }else{
        print "The input '".$pArg."' is not a number.<br>";
    }
}

The print is there for testing purposes, hence in practice it becomes:
function testEven($pArg){
    if(is_int($pArg)=== true){
        return $pArg%2;
    }
    return false;
}

这个函数对于任何奇数返回1,对于任何偶数返回0,当它不是数字时返回false。我总是写=== true或=== false来让我自己(和其他程序员)知道测试是预期的。

另一种选择是简单的位检查。

n & 1

例如:

if ( $num & 1 ) {
  //odd
} else {
  //even
}

试试这个,

$number = 10;
 switch ($number%2)
 {
 case 0:
 echo "It's even";
 break;
 default:
 echo "It's odd";
 }