Cómo convertir una cadena a un número en PHP

Minahil Noor 30 enero 2023
  1. Usando el casting de tipos explícitos para convertir una cadena a un número en PHP
  2. Usando la función intval() para convertir una cadena a un número en PHP
  3. Usando la función settype() para convertir una cadena a un número en PHP
Cómo convertir una cadena a un número en PHP

En este artículo, introduciremos métodos para convertir una cadena en un número en PHP.

  • Usando el casting de tipo explícito
  • Usando la función intval()/floatval()
  • Usando la función settype()

Usando el casting de tipos explícitos para convertir una cadena a un número en PHP

La fundición de tipos explícitos convierte una variable de cualquier tipo en una variable del tipo requerido. Convierte una variable en tipos de datos primitivos. La sintaxis correcta para tipificar explícitamente una variable a una int o a un flot es la siguiente

$variableName = (int)$stringName
$variableName = (float)$stringName

La variable $variableName es la variable entera que contiene el valor del número. La variable $stringName es la cadena numérica. También podemos convertir cadenas no numéricas en un número.

<?php  
$variable = "10";
$integer = (int)$variable;
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "8.1";
$float = (float)$variable;
echo "The variable $variable has converted to a number and its value is $float.";  
?>

Producción :

The variable 10 has converted to a number and its value is 10.
The variable 8.1 has converted to a number and its value is 8.1.

Para las cadenas no numéricas, obtendremos un 0 como salida.

<?php  
$variable = "abc";
$integer = (int)$variable;
echo "The variable has converted to a number and its value is $integer.";  
?>

Producción :

The variable has converted to a number and its value is 0.

Usando la función intval() para convertir una cadena a un número en PHP

La función intval() convierte una cadena en una int.

La función floatval() convierte una cadena en una float.

El parámetro que esas funciones aceptan es una cadena y el valor de retorno es un número entero o un número flotante respectivamente.

intval( $StringName );  

La variable StringName tiene el valor de la cadena.

<?php  
$variable = "53";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "25.3";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
?>

Producción :

The variable 53 has converted to a number and its value is 53.
The variable 25.3 has converted to a number and its value is 25.3.

Si la cadena dada es una mezcla del número y la representación de la cadena, como 202020Time, intval() devolverá 2020. Pero si la cadena dada no comienza con un número, entonces devuelve 0. Así es el método floatval().

Códigos de ejemplo:

<?php  
$variable = "2020Time";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "Time2020";
$integer = intval($variable);
echo "The variable $variable has converted to a number and its value is $integer.";  
echo "\n";

$variable = "25.3Time";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
echo "\n";

$variable = "Time25.3";
$float = floatval($variable);
echo "The variable $variable has converted to a number and its value is $float.";  
?>

Producción :

The variable 2020Time has converted to a number and its value is 2020.
The variable Time2020 has converted to a number and its value is 0.
The variable 25.3Time has converted to a number and its value is 25.3.
The variable Time25.3 has converted to a number and its value is 0.

Usando la función settype() para convertir una cadena a un número en PHP

La función settype() convierte la variable de cualquier tipo de datos en un tipo de datos concreto. Acepta dos parámetros, la variable y el nombre del tipo.

settype($variableName, "typeName");

El $variableName es la variable de cualquier tipo de datos que queremos convertir en un número. El "typeName" contiene el nombre del tipo de datos que queremos para nuestra variable $variableName.

<?php  
$variable = "45";
settype($variable, "integer");
echo "The variable has converted to a number and its value is $variable.";  
?>

La función settype() ha establecido el tipo de $variable de cadena a entero. Sólo es adecuada para tipos de datos primitivos.

Producción :

The variable has converted to a number and its value is 45.

Artículo relacionado - PHP String

Artículo relacionado - PHP Number