string to int PHP

Convertir string a int en PHP: conversión frente a validación

Distingue convertir una cadena y validar una entrada entera, sin rechazar el cero por accidente.

Tipo: Guía práctica Lectura: 4 min Actualizado: 2026-11-03
Ejemplo visual para Convertir string a int en PHP: cast, filtros y validación

Guía y comprobaciones

Convertir un valor conocido

Un cast (int) cambia la representación a entero. Es adecuado cuando ya conoces el significado y formato del dato; no demuestra que una entrada externa sea un número entero bien escrito. Una cadena con texto después de un prefijo numérico puede producir un entero y ocultar el error de origen.

echo (int) '42', PHP_EOL; // 42
echo (int) '42 cajas', PHP_EOL; // 42
echo (int) 'cajas', PHP_EOL; // 0

Si cajas termina convertido en cero y cero es una cantidad permitida, ya no puedes distinguir una entrada inválida de una cantidad real. Decide si quieres una conversión tolerante o una validación estricta antes de elegir una función.

Validar el entero y su rango

Para aceptar un entero dentro de un intervalo, FILTER_VALIDATE_INT permite expresar la regla. Comprueba su resultado con === false, ya que el entero cero también es un resultado válido.

$entrada = '0';
$numero = filter_var($entrada, FILTER_VALIDATE_INT, [
    'options' => ['min_range' => 0, 'max_range' => 100],
]);
echo $numero === false ? 'Inválido' : 'Válido: '.$numero;
echo PHP_EOL; // Válido: 0

Los decimales con coma, separadores de miles y ceros iniciales requieren una política explícita. No elimines todos los caracteres no numéricos: convertir -12 en 12 o 1,5 en 15 cambia el dato. Si tu formulario maneja dinero, utiliza una representación decimal apropiada y no este ejemplo de cantidades enteras.

Límites del entorno

El tamaño de los enteros depende de la plataforma PHP. Identificadores largos, números de documento y códigos con ceros iniciales suelen ser cadenas, aunque contengan sólo dígitos. Un teléfono tampoco se vuelve más útil al convertirlo a entero. Conserva el formato cuando el dato identifica algo y no se utiliza para hacer aritmética.

Anota una pequeña tabla para el campo concreto: cero permitido, cantidad máxima, signo negativo y texto mezclado. El mensaje de error debe indicar la regla que incumple la entrada, sin mostrar información interna del servidor.

Preguntas frecuentes

¿intval valida que todo el texto sea un entero?

No. Convierte el valor según las reglas de PHP; una validación debe comprobar el formato y los límites que necesitas.

¿Por qué falla if (!$numero) con cero?

Porque cero se evalúa como falso. Para distinguir un error de FILTER_VALIDATE_INT utiliza === false.

Documentación oficial

Fuentes consultadas

Fuentes y referencias

Consulta referencias útiles para ampliar o contrastar esta guía.

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.