PHP的求餘(取模)運算

不言
發布: 2023-03-24 19:40:02
原創
23285 人瀏覽過

這篇文章主要介紹了關於PHP的求餘(取模)運算,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

推薦手冊php完全自學手冊

先來看下個小案例:

    $n = 8.45;
    $result = $n*100;
    echo gettype($result);
    var_dump($result);
    echo intval($n*100).&#39;<br>&#39;;
    echo $result%100;
登入後複製

輸出:

double
float 845
844
44
登入後複製

看到這結果,大家有沒有有點驚訝呢?

其實,本質就是為intval((double) 845) = 944;因為我們上面用到了求餘(取模)運算子%,而取模運算子的運算元在運算之前都會轉換成整數(除去小數部分)。

相關文章推薦:         
1.php 浮點數取餘的方法
2.php中常見的運算子有哪些
相關影片推薦:
1.獨孤九賤(4)_PHP影片教學

此外,取模運算子% 的結果和被除數的符號(正負號)相同。即 $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 &#39;我是fmod($x, $y)输出的值:&#39;.fmod($x, $y);
echo "<br>";
echo &#39;我是$x % $y输出的值:&#39;.$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 &#39;我是fmod($x, $y)输出的值:&#39;.fmod($x, $y);
    echo "<br>";
    echo &#39;我是$x % $y输出的值:&#39;.$x % $y;
登入後複製

结果:

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

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

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

小结:

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

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

相关推荐:

详解使用PHP求两个字符串最长公共子串

以上是PHP的求餘(取模)運算的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!