PHP Tipos de datos


Ejemplo

Hay diferentes tipos de datos para diferentes propósitos. PHP no tiene definiciones de tipo explícitas, pero el tipo de una variable está determinado por el tipo de valor que se asigna, o por el tipo al que se convierte. Esta es una breve descripción general de los tipos, para una documentación detallada y ejemplos, consulte el tema de tipos de PHP .

Existen los siguientes tipos de datos en PHP: nulo, booleano, entero, flotante, cadena, objeto, recurso y matriz.

Nulo

Nulo puede ser asignado a cualquier variable. Representa una variable sin valor.

$foo = null;

Esto invalida la variable y su valor sería indefinido o nulo si se llama. La variable se borra de la memoria y el recolector de basura la elimina.

Booleano

Este es el tipo más simple con solo dos valores posibles.

$foo = true;
$bar = false;

Los booleanos se pueden utilizar para controlar el flujo de código.

$foo = true;

if ($foo) {
    echo "true";
} else {
    echo "false";
}

Entero

Un número entero es un número entero positivo o negativo. Puede ser utilizado con cualquier base numérica. El tamaño de un entero es dependiente de la plataforma. PHP no soporta enteros sin signo.

$foo = -3;  // negative
$foo = 0;   // zero (can also be null or false (as boolean)
$foo = 123; // positive decimal
$bar = 0123; // octal = 83 decimal
$bar = 0xAB; // hexadecimal = 171 decimal
$bar = 0b1010; // binary = 10 decimal
var_dump(0123, 0xAB, 0b1010); // output: int(83) int(171) int(10)

Flotador

Los números de punto flotante, "dobles" o simplemente llamados "flotadores" son números decimales.

$foo = 1.23;
$foo = 10.0;
$bar = -INF;
$bar = NAN;

Formación

Una matriz es como una lista de valores. La forma más simple de una matriz está indexada por entero y ordenada por el índice, con el primer elemento en el índice 0.

$foo = array(1, 2, 3); // An array of integers
$bar = ["A", true, 123 => 5]; // Short array syntax, PHP 5.4+

echo $bar[0];    // Returns "A"
echo $bar[1];    // Returns true
echo $bar[123];  // Returns 5
echo $bar[1234]; // Returns null

Las matrices también pueden asociar una clave que no sea un índice entero a un valor. En PHP, todas las matrices son matrices asociativas detrás de las escenas, pero cuando nos referimos a una 'matriz asociativa' claramente, por lo general nos referimos a una que contiene una o más claves que no son enteros.

$array = array();
$array["foo"] = "bar";
$array["baz"] = "quux";
$array[42] = "hello";
echo $array["foo"]; // Outputs "bar"
echo $array["bar"]; // Outputs "quux"
echo $array[42]; // Outputs "hello"

Cuerda

Una cadena es como una matriz de caracteres.

$foo = "bar";

Al igual que una matriz, una cadena se puede indexar para devolver sus caracteres individuales:

$foo = "bar";
echo $foo[0]; // Prints 'b', the first character of the string in $foo.

Objeto

Un objeto es una instancia de una clase. Se puede acceder a sus variables y métodos con el operador -> .

$foo = new stdClass(); // create new object of class stdClass, which a predefined, empty class
$foo->bar = "baz";
echo $foo->bar; // Outputs "baz"
// Or we can cast an array to an object:
$quux = (object) ["foo" => "bar"];
echo $quux->foo; // This outputs "bar".

Recurso

Las variables de recursos tienen identificadores especiales para archivos abiertos, conexiones de base de datos, flujos, áreas de lienzo de imágenes y similares (como se indica en el manual ).

$fp = fopen('file.ext', 'r'); // fopen() is the function to open a file on disk as a resource.
var_dump($fp); // output: resource(2) of type (stream)

Para obtener el tipo de una variable como una cadena, use la función gettype() :

echo gettype(1); // outputs "integer"
echo gettype(true); // "boolean"