php取模,PHP的求余(取模)运算

这篇文章主要介绍了关于PHP的求余(取模)运算 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

先来看下个小案例:$n = 8.45;

$result = $n*100;

echo gettype($result);

var_dump($result);

echo intval($n*100).'
';

echo $result%100;

输出:

double

float 845

844

44

看到这结果,大家是否有点儿惊奇呢?

其实,本质就是为intval((double) 845) = 944;因为我们上面用到了求余(取模)运算符%,而取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

此外,取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a(被除数) % $b(除数) 的结果和的符号相同。接下来看几个例子:

如:echo (5 % 3)."\n";

echo (5 % -3)."\n";

echo (-5 % 3)."\n";

echo (-5 % -3)."\n";

输出:2 2 -2 -2

我们再来介绍一个跟求余有关的Math函数fmod(),该函数主要是返回除法的浮点数余数。

float fmod ( float $x , float $y )

返回被除数(x)除以除数(y)所得的浮点数余数。余数()的定义是:x = i * y + r,其中是整数。如果y是非零值,则和x的符号相同并且其数量值小于y。 其实实质就是x/y的浮点数余数。

例子:$x = 5;

$y = 2;

// $t = mod($x, $y);//Fatal error: Call to undefined function mod()

echo '我是fmod($x, $y)输出的值:'.fmod($x, $y);

echo "
";

echo '我是$x % $y输出的值:'.$x % $y;

结果:

我是fmod($x, $y)输出的值:1

我是$x % $y输出的值:1$x = 5.8;

$y = 2.5;

// $t = mod($x, $y);//Fatal error: Call to undefined function mod()

echo '我是fmod($x, $y)输出的值:'.fmod($x, $y);

echo "
";

echo '我是$x % $y输出的值:'.$x % $y;

结果:

我是fmod($x, $y)输出的值:0.8

我是$x % $y输出的值:1

注意的是,PHP里并没有mod()函数,使用时应注意。

小结:

1、%求余的时候,就是先把运算之前的被除数和除数都转换成整数(除去小数部分)

2、fmod()就类似于数学里面的求余运算。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值