Maison  >  Article  >  développement back-end  >  Opération reste PHP (modulo)

Opération reste PHP (modulo)

不言
不言original
2018-04-24 16:32:3923286parcourir

Cet article présente principalement l'opération reste (module) en PHP, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Manuel recommandé : manuel d'auto-apprentissage complet en php
Regardons d'abord le petit cas suivant :

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

Sortie :

double
float 845
844
44

Etes-vous un peu surpris de voir ce résultat ?

En fait, l'essence est intval((double) 845) = 944 car nous avons utilisé pour trouver le reste Opérateur (modulo) %, tandis que les opérandes de l'opérateur modulo seront convertis en entiers (sauf la partie décimale) avant opération.

Articles connexes recommandés :                                                                                                                                                            2.Quels sont les opérateurs courants en php
Recommandations vidéo associées :
1.Tutoriel vidéo Dugu Jiujian (4)_PHP

De plus, le résultat de l'opérateur modulo
%
est le même que le signe (signe) du dividende. Autrement dit, le résultat de

$a (dividende) % $b (diviseur) a le même signe. Regardons quelques exemples : Par exemple :

Sortie :

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

Introduisons une autre fonction mathématique
2 2 -2 -2
fmod() liée au reste. Cette fonction

renvoie principalement le reste de la division en virgule flottante.

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求两个字符串最长公共子串

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn