php

PHP: intval y strval para convertir variables

Introducción

PHP es un lenguaje débilmente tipado, aunque en la versión 7 incorporó la revisión de tipos en las funciones el lenguaje en sí lo sigue siendo.

Una de las ventajas de esto es que podemos castear o cambiar el tipo de una variable sin dificultad.

Lo que nos reúne hoy aquí son dos funciones que…

  1. Convierten un valor a entero
  2. Convierten un valor a cadena

Dichas funciones son intval y strval

Intval en PHP: convertir string o cualquier tipo a entero

La función intval en PHP recibe un argumento de cualquier tipo y devuelve su representación como entero.

Su uso más frecuente es cuando queremos convertir una cadena a un entero:

See the gist on github.

A lo que regresa ya podemos sumarle o restarle cosas, o hacerle cualquier operación matemática, pues tenemos la certeza de que es un entero.

Quitar decimales con intval

Con esta función igualmente podemos quitar los decimales de un número (como lo hicimos con JavaScript). Llamamos a la función y le pasamos un flotante.

See the gist on github.

La salida es 2. No importa si el número es 2.9 o 2.1, lo devuelve sin decimales. Incluso con 2.0001 devuelve 2.

Convertir binario a decimal con PHP e intval

Dado que intval devuelve la representación entera de un número,  y como segundo argumento recibe la base, podemos fácilmente llamarlo para que convierta un número binario a un decimal. Quedaría así:

See the gist on github.

La salida sería 13. Así de fácil sería convertir un binario a un decimal; es decir, un número en base 2 a base 10.

Strval en PHP: convertir cualquier variable en cadena

Este método es más fácil de explicar. Lo único que hace es obtener la representación de una variable, pero como string. Veamos esto:

See the gist on github.

Lo que devuelve strval es una cadena a la cual podemos aplicarle los métodos de cadenas, y podremos estar seguros de que estamos trabajando con un string para evitar comportamientos raros.

Strval en arreglos

Esta función no imprime arreglos, regresará simplemente la cadena “Array” o en versiones nuevas generará un error de que estamos intentando convertir un array a una cadena.

Si realmente queremos imprimir un arreglo usamos print_r:

See the gist on github.

La salida es esta:

Imprimir arreglo en PHP

Strval en objetos

La función strval, al usarla en objetos, llamará al método __toString del mismo. Si no lo implementa, regresará la cadena “Object” o generará un error en las versiones más nuevas.

Para implementar el método __toString en un objeto podemos declararlo en la clase:

See the gist on github.

Ahí tenemos a la clase mascota que únicamente tiene la propiedad nombre y el método ladrar, aunque eso no es lo importante; lo que importa es que implementa el método __toString.

Podemos implementarlo como queramos, siempre y cuando regrese una cadena. Por cierto, se recomienda devolver el estado de la mascota; es decir, concatenar todas sus variables.

El punto es que al llamar a strval y pasarle nuestra mascota así:

See the gist on github.

El resultado no es “Object” ni un error, es:

Soy de la clase mascota. Mi nombre es Maggie

Algo más

También existen las funciones floatval y boolval para convertir variables a flotantes y booleanos respectivamente.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

4 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.