PHP | funciones is_finite(), is_infinite(), is_nan()

Dado cualquier valor numérico, se puede clasificar en 3 clases diferentes, como Número finito, Número infinito y No es un número o comúnmente conocido como NaN. Al desarrollar un proyecto que depende en gran medida de las entradas del usuario, puede haber muchos casos en los que el usuario proporcione entradas inapropiadas mientras una función espera una entrada numérica finita, lo que crea una situación no controlada o un resultado inesperado.

Por lo tanto, es una opción segura para verificar si un valor de entrada dado es finito o no.

Función is_finite()

Sintaxis:

bool is_finite ($value)

Parámetros : la función toma un solo parámetro que es un flotante que debe verificarse.

Tipo de devolución : esta función devuelve VERDADERO si el valor dado es finito; de lo contrario, FALSO.

Ejemplos:

Input :  $value = M_PI_4;
Output : TRUE

Input : $value = log(0);
Output : FALSE        

Función is_infinite()

Sintaxis:

bool is_infinite ($value)

Parámetros : la función toma un solo parámetro que es un flotante que debe verificarse.

Tipo de retorno : esta función devuelve VERDADERO si el valor dado es infinito, de lo contrario, FALSO.

Ejemplos:

Input :  $value = M_PI_4;
Output : FALSE

Input : $value = log(0);
Output : TRUE        

Función is_nan()

Sintaxis:

bool is_nan ($value)

Parámetros : la función toma un solo parámetro que es un flotante que debe verificarse.

Tipo de devolución : esta función devuelve VERDADERO si el valor dado no es un número; de lo contrario, FALSO.

Ejemplos:

Input :  $value = M_PI_4;
Output : FALSE

Input : $value = acos(1.1); // cos function can not be greater than 1
Output : TRUE        

El siguiente programa ilustra el funcionamiento de las funciones is_finite(), is_infinite(), is_nan() en PHP:

<?php
  
// PHP code to illustrate the working of 
// is_finite(), is_infinte() and is_nan() Functions 
  
// Finite Value: PI
$val1 = M_PI; 
// In-built value of INFINITY
$val2 = INF; 
// Produces NaN as COS value can reside 
// between -1 to +1 both inclusive
$val3 = acos(-1.01); 
  
echo var_dump(is_finite($val1), is_finite($val2), 
                            is_finite($val3))."\n";
echo var_dump(is_infinite($val1), is_infinite($val2), 
                          is_infinite($val3))."\n";
echo var_dump(is_nan($val1), is_nan($val2), 
                        is_nan($val3))."\n";
                          
?>

Producción:

bool(true) bool(false) bool(false) 
bool(false) bool(true) bool(false) 
bool(false) bool(false) bool(true) 

Puntos importantes a tener en cuenta :

  • Esta función también puede verificar si una expresión produce un resultado finito, pero en el caso de expresiones que conducen a NaN, PHP muestra un error y se devuelve FALSO predeterminado, como en el caso de verificar una expresión Dividido por cero.
  • La función is_finite() se usa en muchos proyectos para hacerla más segura y eficiente.
  • Estos métodos producen resultados muy precisos, pero no son muy eficientes en cuanto al tiempo.

Publicación traducida automáticamente

Artículo escrito por PronabM y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *