如何检查值是偶数还是奇数?
while ($N=0 > 6; ++$N) { // might be mistake here but it just here for demonstration my cod differs
++$CELL;
echo ($CELL/3)." - ";
if(($CELL/3) % 2) {
echo ($CELL/3)." (odd) <br>";
} else {
echo ($CELL/3)." (even) <br>";
echo "<tr>";
};
};
有人可以解释为什么它会继续输出
0.333333333333 - 0.333333333333 (even)
0.666666666667 - 0.666666666667 (even)
1 - 1 (odd)
1.33333333333 - 1.33333333333 (odd)
1.66666666667 - 1.66666666667 (odd)
2 - 2 (even)
不应该是
0.333333333333 - 0.333333333333 (even)
0.666666666667 - 0.666666666667 (even)
1 - 1 (odd)
1.33333333333 - 1.33333333333 (even)
1.66666666667 - 1.66666666667 (even)
2 - 2 (odd)
有点混乱甚至奇怪,但它不是重点......是否有更好的方法来检查价值是否均匀?
答案 0 :(得分:6)
如果您的意图是每第三行根据您的示例“奇怪”,那么您需要:
if ($N % 3 == 2) {
// odd
} else {
// even
}
答案 1 :(得分:3)
使用此代码
非常简单 while ($N=0 $N > 6; $N++) {
if ($N%2==0){
echo 'Value is even';
} else {
echo 'value is odd';
}
}
答案 2 :(得分:1)
“有点混乱甚至奇怪”
你,我的朋友,是轻描淡写的王。
如果您想检查数字是否没有小数组件,则需要将其转换为整数并将其与原始数字进行比较。
$v = 3.4;
if ($v == (int)$v) {
echo "Integer";
} else {
echo "Fractional";
}
答案 3 :(得分:1)
我猜你想要在检查它是偶数还是奇数之前进行整理。使用ceil函数将其四舍五入。
if(ceil($CELL/3) % 2) {
echo ($CELL/3)." (odd) <br>";
} else {
echo ($CELL/3)." (even) <br>";
echo "<tr>";
};
但是2绝对是偶数
答案 4 :(得分:1)
实际上,检查分数是奇数还是偶数是没有意义的。 当模数2为0时,数字甚至。 例如,如果将任何小数除以2,它将始终为奇数,只是因为如果将该数除以2,则没有确切的结果。
所以,请告诉我们您在这里要做些什么,以便我们能够更好地帮助您
答案 5 :(得分:0)
在处理之前,模数的操作数被转换为整数(通过去除小数部分)。
http://www.php.net/manual/en/language.operators.arithmetic.php
答案 6 :(得分:0)
使用ImageView
(mod)运算符。
%