在PHP中找出一个数字/变量是奇数还是偶数的最简单最基本的方法是什么? 这和mod有关吗?
我试过一些剧本,但是…谷歌目前没有发送。
在PHP中找出一个数字/变量是奇数还是偶数的最简单最基本的方法是什么? 这和mod有关吗?
我试过一些剧本,但是…谷歌目前没有发送。
当前回答
你认为mod是个不错的开始,这是对的。下面是一个表达式,如果$number为偶数则返回true,如果为奇数则返回false:
$number % 2 == 0
适用于所有integerPHP值,参见算术操作符sphp。
例子:
$number = 20;
if ($number % 2 == 0) {
print "It's even";
}
输出:
它甚至
其他回答
你认为mod是个不错的开始,这是对的。下面是一个表达式,如果$number为偶数则返回true,如果为奇数则返回false:
$number % 2 == 0
适用于所有integerPHP值,参见算术操作符sphp。
例子:
$number = 20;
if ($number % 2 == 0) {
print "It's even";
}
输出:
它甚至
我做了一些测试,发现在mod, is_int和&-操作符之间,mod是最快的,紧随其后的是&-操作符。 Is_int几乎比mod慢4倍。
I used the following code for testing purposes: $number = 13; $before = microtime(true); for ($i=0; $i<100000; $i++) { $test = ($number%2?true:false); } $after = microtime(true); echo $after-$before." seconds mod<br>"; $before = microtime(true); for ($i=0; $i<100000; $i++) { $test = (!is_int($number/2)?true:false); } $after = microtime(true); echo $after-$before." seconds is_int<br>"; $before = microtime(true); for ($i=0; $i<100000; $i++) { $test = ($number&1?true:false); } $after = microtime(true); echo $after-$before." seconds & operator<br>"; The results I got were pretty consistent. Here's a sample: 0.041879177093506 seconds mod 0.15969395637512 seconds is_int 0.044223070144653 seconds & operator
是的,使用mod
$even = ($num % 2 == 0);
$odd = ($num % 2 != 0);
另一种选择是简单的位检查。
n & 1
例如:
if ( $num & 1 ) {
//odd
} else {
//even
}
这段代码检查PHP中的数字是奇数还是偶数。在这个例子中,$a是2,你得到偶数。如果你需要奇数,那么改变$a值
$a=2;
if($a %2 == 0){
echo "<h3>This Number is <b>$a</b> Even</h3>";
}else{
echo "<h3>This Number is <b>$a</b> Odd</h3>";
}