fdiv în PHP

Împarte două numere după standardul IEEE 754: împărțirea la zero dă INF sau NAN, nu eroare.

Sintaxă
fdiv(float $num1, float $num2): float

Ce face fdiv

În PHP 8, $a / 0 aruncă DivisionByZeroError. fdiv împarte fără să arunce eroare: la zero returnează INF, -INF sau, pentru 0/0, NAN.

Este util în calcule științifice sau statistice, unde vrei să continui și să verifici rezultatul la final cu is_finite.

Parametri

Parametru Descriere
$num1 Deîmpărțitul.
$num2 Împărțitorul. Poate fi 0.

Ce returnează

Rezultatul împărțirii, ca float.

Exemple

Exemplul 1: Împărțiri cu și fără zero

<?php
var_dump(fdiv(10, 4));
var_dump(fdiv(1, 0));
var_dump(fdiv(-1, 0));
var_dump(fdiv(0, 0));

Rezultat

float(2.5)
float(INF)
float(-INF)
float(NAN)

Exemplul 2: Operatorul / față de fdiv

<?php
try {
    echo 1 / 0;
} catch (DivisionByZeroError $e) {
    echo "Eroare: " . $e->getMessage() . "\n";
}

var_dump(fdiv(1, 0));

Rezultat

Eroare: Division by zero
float(INF)

Greșeli frecvente

  • Folosești fdiv ca să ascunzi împărțirea la zero într-o aplicație obișnuită, de exemplu la calculul unei medii. Rezultatul INF ajunge în pagină. Verifică împărțitorul înainte.

Comenzi înrudite

  • intdiv: Împarte două numere întregi și returnează doar partea întreagă a rezultatului.
  • is_nan / is_finite / is_infinite: Verifică dacă un număr este NAN (is_nan), infinit (is_infinite) sau un număr normal, finit (is_finite).
  • fpow: Ridică un număr la o putere după standardul IEEE 754 și returnează mereu un float.