Tipos de Datos que encontramos en PHP

Tipos de Datos en php

Tabla de contenidos


El programador generalmente no establece el tipo de variable, pero PHP lo establece durante la ejecución dependiendo del contenido de la variable que se esté utilizando.

Al usar la función var_dump()verificaremos el tipo de dato y valor de una expresión específica dada. También está la función gettype() para obtener el tipo de la variable, se usa cuando sea necesario una depuración. Para verificar el tipo de la variable, usaremos las funciones del grupo is_type.

<?php
$a_bool = TRUE;   // boolean
$a_str  = "cadena 1";  // string
$a_str2 = 'cadena 2';// string

$an_int = 12;     // integer

echo gettype($a_bool); // salida: boolean
echo gettype($a_str);  // salida: string(cadena)

//
if (is_int($an_int)) {
    $an_int += 4;
}
// Imprime $ a_bool si la variable es una cadena. 
// (no imprimirá nada) 
if (is_string($a_bool)) {
    echo "String: $a_bool";
}
?>

Para forzar que el tipo de una variable se convierta en otro tipo, puede utilizar el método de conversión o mediante el settype()‎. Tenga en cuenta que el tipo de una variable se puede cambiar por el valor que contiene en algunos casos dependiendo de su tipo en ese momento.

¿Cuáles son los tipos de datos php?

Pues, los tipos de datos que PHP incluyen son: String (cadena), Integer (entero), Float (punto flotante), Boolean (boolean), Array (matriz), Object (objeto), NULL (valor vacío).

Tipos de datos simples

Valores boolean (booleanos)

Los valores booleanos son de los tipos más simples. Una expresión booleana expresa la validez de una expresión. El valor de la expresión siempre será del tipo verdadero TRUE o falso FALSE.

$x=true;
$y=false;

Integer (entero)

Un entero es un número del conjunto ℤ = {…, -2, -1, 0, 1, 2, …}. No pueden contener comas ni espacios, se pueden especificar en tres formatos: decimal, hexadecimal (con el prefijo 0x) u octal (con el prefijo 0).

En el siguiente ejemplo se utiliza la función PHP var_dump () la cual devuelve el tipo de datos y el valor de la variable:

<? php 
$ x = 5000;
var_dump ($ x);
echo "<br>"; 
$ x = -300; // número negativo 
var_dump ($ x);
echo "<br>"; 
$ x = 0x8C; // Número hexadecimal
var_dump ($ x);
echo "<br>";
$ x = 047; // número octal
var_dump ($ x);
?>

Float (punto flotante o decimales) Double

Los decimales también conocidos como números (reales, dobles o flotantes) son números que tienen una sección decimal además del entero.

En el siguiente ejemplo se utiliza la función PHP var_dump () la cual devuelve el tipo de datos y el valor de la variable:

<? php 
$ x = 5,238;
var_dump ($ x);
echo "<br>"; 
$ x = 8.3e3;
var_dump ($ x);
echo "<br>"; 
$ x = 6E-5;
var_dump ($ x);
?>

String (cadena)

Una cadena de texto es una cadena de caracteres, donde cada carácter está representado por un byte. Un string es una secuencia de caracteres, como la que se inicia y mostramos en el ejemplo «¡Hola mundo!». Se puede poner cualquier tipo de texto entre las comillas simples y dobles:

<? php 
$ x = "¡Hola mundo!";
echo $ x;
echo "<br>"; 
$ x = '¡Hola mundo!';
echo $ x;
?>

Tipos de datos compuestos

Array (matriz)

Los Arrays o matrices en PHP pueden almacenar varios valores en una variable. Véalos como un mapa ordenado, en el cual los valores están asociados con claves y direcciones.

En el siguiente ejemplo crearemos un arrays (matriz) y luego usaremos la función var_dump () de PHP la cual devolverá el tipo de datos y el valor del arrays o matriz:

<?php 
$cars = array("Audi","BMW","Hundai");
var_dump($cars);
?>

Object (objeto)

Los objetos se crean en PHP con una inicialización de la clase. Los tipos de datos de objeto también se pueden utilizar para almacenar datos. En PHP los objetos deben declararse. Primero, debe declarar el objeto de clase usando la palabra clave de clase. 

Una clase es una estructura que puede contener propiedades y métodos. Luego definimos el tipo de datos en la clase y luego usamos el tipo de datos en la clase instanciada:

<?php
class Car{
    var $color;
    function Car($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "$prop = $val";
   }
}

// instantiate one object
$herbie = new Car("white");

// show herbie properties
echo "herbie: Properties
";
print_vars($herbie);

?>

Callable (invocable)

Se puede hacer referencia a las devoluciones de llamada utilizando el tipo de datos invocables desde PHP 5.4, que son funciones que otras funciones llaman para realizar operaciones.

Iterable (iterables)

Una variable iterable es un pseudo-tipo definido en PHP 7.1 que acepta cualquier matriz u objeto que use una interfaz Traversable (es decir, una interfaz  Traversable), ambos tipos se pueden iterar usando un bucle y  foreach se pueden usar con una expresión de rendimiento dentro de  una función  generadora (generador ).

Tipos de datos especiales

Recurso (recurso)

Un recurso es una variable especial que tiene una referencia a un recurso externo.

Null (NULO)

Este es un valor privado representa una variable vacía (NULL) o sin valor; siendo Null(nulo) el único valor posible para este tipo con un valor de dato tipo nulo. Un valor NULO significa que la variable no tiene valor. NULL es un valor cuyo tipo de datos es NULL.

El valor NULL indica si una variable es nula. Lo mismo se puede utilizar para distinguir entre datos nulos y valores NULL. Los datos de la variable se pueden borrar estableciendo el valor de la variable en NULL:

<?php
$x="Hola mundo!";
$x=null;
var_dump($x);
?>

Pseudo-types

Los pseudotipos son palabras clave que se utilizan principalmente en la documentación de PHP para especificar los tipos o valores que un operando puede tener y no se puede utilizar en el código directamente.

  • mixed (mezclado)
  • number (número)
  • callback (retorno del invocable)
  • array | object
  • void

La semivariable $…‎.