English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à effectuer des opérations mathématiques en PHP.
PHP dispose de multiples fonctions intégrées qui peuvent vous aider à effectuer toutes les opérations, des simples additions et soustractions aux calculs avancés. Vous avez déjà vuOpérateurs PHPDans ce chapitre, nous avons appris comment effectuer des opérations mathématiques de base. Voici un autre exemple :
<?php echo 7 + 3; // Sortie : 10 echo '<br>'; echo 7 - 2; // Sortie : 5 echo '<br>'; echo 7 * 2; // Sortie : 14 echo '<br>'; echo 7 / 2; // Sortie : 3.5 echo '<br>'; echo 7 % 2; // Sortie : 1 ?>Voyons un test‹/›
Chaque opérations mathématiques a une priorité spécifique ; généralement, la multiplication et la division sont exécutées avant l'addition et la soustraction. Cependant, les parenthèses peuvent changer cette priorité. Quelle que soit la priorité des opérations, il faut toujours évaluer d'abord l'expression entre les parenthèses, comme dans les exemples suivants :
<?php echo 5 + 4 * 10; // Sortie : 45 echo '<br>'; echo (5 + 4) * 10; // Sortie : 90 echo '<br>'; echo 5 + 4 * 10 / 2; // Sortie : 25 echo '<br>'; echo 8 * 10 / 4 - 2; // Sortie : 18 echo '<br>'; echo 8 * 10 / (4 - 2); // Sortie : 40 echo '<br>'; echo 8 + 10 / 4 - 2; // Sortie : 8.5 echo '<br>'; echo (8 + 10) / (4 - 2); // Sortie : 9 ?>Voyons un test‹/›
Dans la partie suivante, nous allons apprendre quelques fonctions intégrées PHP, qui sont les plus couramment utilisées pour effectuer des opérations mathématiques.
Vous pouvez utiliser la fonction abs() pour trouverentierouNombre en virgule flottantede l'absolu, comme dans les exemples suivants :
<?php echo abs(5) . "<br>"; // Sortie : 5 (integer) echo abs(-5) . "<br>"; // Sortie : 5 (integer) echo abs(4.2) . "<br>"; // Sortie : 4.2 (double/float) echo abs(-4.2) . "<br>"; // Sortie : 4.2 (double/float) ?>Voyons un test‹/›
Comme vous le voyez, si le nombre est négatif, la valeur renvoyée est positive. Mais si le nombre est positif, cette fonction ne renvoie que le nombre.
La fonction ceil() peut être utilisée pour arrondir une décimale à l'entier supérieur, tandis que la fonction floor() peut être utilisée pour arrondir une décimale à l'entier inférieur, comme dans les exemples suivants :
<?php //Rounding up the fraction echo ceil(4.2) . "<br>"; // Sortie : 5 echo ceil(9.99) . "<br>"; // Sortie : 10 echo ceil(-5.18) . "<br>"; // Sortie : -5 //Rounding down the fraction echo floor(4.2) . "<br>"; // Sortie : 4 echo floor(9.99) . "<br>"; // Sortie : 9 echo floor(-5.18) . "<br>"; // Sortie : -6 ?>Voyons un test‹/›
Vous pouvez utiliser la fonction sqrt() pour trouver la racine carrée d'un nombre positif. Si le nombre est négatif, il renvoie NaN. Voici un exemple :
<?php echo sqrt(9) . "<br>"; // Sortie : 3 echo sqrt(25) . "<br>"; // Sortie : 5 echo sqrt(10) . "<br>"; // Sortie : 3.1622776601684 echo sqrt(-16) . "<br>"; // sortie : NAN ?>Voyons un test‹/›
La fonction rand() peut être utilisée pour générer des nombres aléatoires. Vous pouvez choisir de spécifier une gamme en passant les paramètres min, max, comme dans les exemples suivants :
<?php //Générer quelques nombres aléatoires echo rand() . "<br>"; echo rand() . "<br>"; //Générer quelques nombres entre1à10) entre1et10) echo rand(1, 10) . "<br>"; echo rand(1, 10) . "<br>"; ?>Voyons un test‹/›
Si la fonction rand() est appelée sans les paramètres optionnels min, max, alors elle renverra un nombre pseudo-aléatoire entre 0 et getrandmax(). La fonction getrandmax() affiche la valeur maximale aléatoire, sur la plate-forme Windows, elle n'est que32767Ainsi, si vous avez besoin d'un nombre supérieur à32767de la gamme, vous pouvez simplement spécifier les paramètres min et max.
La fonction decbin() est utilisée pour convertir un nombre décimal en nombre binaire. Tandis que la fonction bindec() convertit un nombre binnaire en nombre décimal.
<?php //Convertir décimal en binaire echo decbin(2) . "<br>"; // Sortie : 10 echo decbin(12) . "<br>"; // Sortie : 1100 echo decbin(100) . "<br>"; // Sortie : 1100100 //Convertir binaire en décimal echo bindec(10) . "<br>"; // Sortie : 2 echo bindec(1100) . "<br>"; // Sortie : 12 echo bindec(1100100); // Sortie : 100 ?>Voyons un test‹/›
La fonction dechex() est utilisée pour convertir un nombre décimal en représentation hexadécimale. Tandis que la fonction hexdec() est utilisée pour convertir une chaîne hexadécimale en nombre décimal.
<?php //Convertir décimal en hexadécimal echo dechex(255) . "<br>"; // sortie : ff echo dechex(196) . "<br>"; // Sortie : c4 echo dechex(0) . "<br>"; // Sortie : 0 //Convertir hexadécimal en décimal echo hexdec('ff') . "<br>"; // Sortie : 255 echo hexdec('c4') . "<br>"; // Sortie : 196 echo hexdec(0); // Sortie : 0 ?>Voyons un test‹/›
La fonction decoct() est utilisée pour convertir un nombre décimal en forme octale. La fonction octdec() est utilisée pour convertir un nombre octal en nombre décimal. La conversion décimale et octale est
<?php //Convertir décimal en octal echo decoct(12) . "<br>"; // Sortie : 14 echo decoct(256) . "<br>"; // Sortie : 400 echo decoct(77) . "<br>"; // Sortie : 115 //Convertir octal en décimal echo octdec('14') . "<br>"; // Sortie : 12 echo octdec('400') . "<br>"; // Sortie : 256 echo octdec('115); // Sortie : 77 ?>Voyons un test‹/›
La fonction base_convert() peut être utilisée pour convertir un nombre d'un système de base à un autre. Par exemple, vous pouvez convertir un décimal (Base10)en binaire (Base2),hexadécimal (Base16)en octal (Base8))。 Convertir octal en hexadécimal, hexadécimal en décimal, et ainsi de suite.
Cette fonction accepte trois paramètres : le nombre à convertir, la base actuelle et la base à convertir. La syntaxe de base est la suivante :
base_convert(number,frombase,tobase);
frombase et tobase doivent être dans2à36entre (y compris2et36)。 La base supérieure à10le nombre sera représenté par le lettre a-z représente, où a représente10b représente11z représente35Voici un exemple simple illustrant le fonctionnement de cette fonction :
<?php //Convertir décimal en binaire echo base_convert('12', 10, 2) . "<br>"; // Sortie : 1100 //Convertir binaire en décimal echo base_convert('1100', 2, 10) . "<br>"; // Sortie : 12 //Convertir décimal en hexadécimal echo base_convert('10889592', 10, 16) . "<br>"; // Sortie : a62978 //Convertir hexadécimal en décimal echo base_convert('a62978', 16, 10) . "<br>"; // Sortie : 10889592 //Convertir décimal en octal echo base_convert('82', 10, 8) . "<br>"; // Sortie : 122 //Convertir octal en décimal echo base_convert('122', 8, 10) . "<br>"; // Sortie : 82 //Convertir hexadécimal en octal echo base_convert('c2c6a8', 16, 8) . "<br>"; // Sortie : 60543250 //Convertir octal en hexadécimal echo base_convert('60543250', 8, 16) . "<br>"; // Sortie : c2c6a8 //Convertir octal en binaire echo base_convert('42', 8, 2) . "<br>"; // Sortie : 100010 //Convertir binaire en octal echo base_convert('100010', 2, 8) . "<br>"; // Sortie : 42 //Convertir hexadécimal en binaire echo base_convert('abc', 16, 2) . "<br>"; // Sortie : 101010111100 //Convertir binaire en hexadécimal echo base_convert('101010111100', 2, 16); // Sortie : abc ?>Voyons un test‹/›
Attention :La fonction base_convert() retourne toujours une valeur en chaîne de caractères. Si la valeur retournée commence par10Si la chaîne de caractères obtenue est utilisée comme une chaîne de caractères numérique dans les calculs, PHP la convertira en nombre lors de l'exécution du calcul.