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

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


当前回答

虽然所有的答案都是正确的,但简单的解决方法是:

$check = 9;

:

echo ($check & 1 ? 'Odd' : 'Even');

or:

echo ($check % 2 ? 'Odd' : 'Even');

工作得很好。

其他回答

另一种方法是检查最后一位是否为偶数:

$value = "1024";// A Number
$even = array(0, 2, 4, 6, 8);
if(in_array(substr($value, -1),$even)){
  // Even Number
}else{
  // Odd Number
}

或者为了更快,使用isset()代替array_search:

$value = "1024";// A Number
$even = array(0 => 1, 2 => 1, 4 => 1, 6 => 1, 8 => 1);
if(isset($even[substr($value, -1)]){
  // Even Number
}else{
  // Odd Number
}

或者让它更快(有时胜过mod操作符):

$even = array(0, 2, 4, 6, 8);
if(in_array(substr($number, -1),$even)){
  // Even Number
}else{
  // Odd Number
}

这是一个时间测试来证明我的发现。

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

这对我很有用!

$(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>

使用位操作: 在此方法中,您将找到带有1的数字的逐位与。如果位与为1,则该数字为奇数,否则为偶数。

function odd($var){
    return $var & 1;
}
function even($var){
    return !($var&1);
}
$arr = range(1,10);

echo "Odd Numbers: ";
echo "<pre>";
    print_r(array_filter($arr2, 'odd'));
echo "<pre>";

echo "<br>Even Numbers: ";
echo "<pre>";
    print_r(array_filter($arr2, 'even'));
echo "</pre>";

输出将是:

Odd Numbers:
Array
(
    [0] => 1
    [2] => 3
    [4] => 5
    [6] => 7
    [8] => 9
)

Even Numbers: 
Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)

是的,使用mod

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

你认为mod是个不错的开始,这是对的。下面是一个表达式,如果$number为偶数则返回true,如果为奇数则返回false:

$number % 2 == 0

适用于所有integerPHP值,参见算术操作符sphp。

例子:

$number = 20;
if ($number % 2 == 0) {
  print "It's even";
}

输出:

它甚至