006f Tipos de datos: Misc
Los siguientes son más tipos de datos que cubriremos brevemente ahora y con más profundidad en capítulos futuros.
Arrays
Si imagine a una variable como una caja que contiene un valor, un array es como una serie de variables pegados juntos.
El tamaño del array puede variar, así puede contener menos o muchos más de lo que tiene el ejemplo arriba. El tipo de dato array
es útil cuando tiene un grupo de valores que son relacionados. Cada elemento en el array puede ser de cualquier tipo de dato. Por ejemplo, puede contener una lista de nombres. O puede ser una lista de direcciones or una serie de números, o cualquier mezcla de tipos de datos.
Un array se puede definir en una de dos maneras:
<?php
// Hacer un array usando el método array()
$a = array();
// Hacer un array usando la sintaxis del array corta (preferido)
$a = [];
La función array()
es la manera original de PHP para hacer arrays. Sin embargo, desde que la sintaxis del array corta fue introducida, rápidamente se convirtió en la manera preferida de programadores para crear arrays. Las dos maneras funcionan igual.
Cada elemento en el array se accede a través de una clave.
PHP es un lenguaje con indexación basada en cero, así por defecto, el primer elemento en el array tiene la clave 0. Usamos corchetes para acceder a cada elemento.
<?php
// también valido: $a = array("a", "b" ... );
$a = ["a", "b", "c", "d"];
// Acceder el tercer elemento en el array:
var_dump($a[2]); // "c"
Un array puede contener cualquier tipo de dato:
Aunque es normal que cada elemento en el array sea relacionado, no tiene que relacionarse. Adicionalmente, las claves del array se pueden fijar también al formar el array, y luego acceder por esa clave.
<?php
// Fijar sus propias claves:
// ["clave" => "valor"]
$a = [
"nombre" => "Fulano de Tal",
"teléfono" => "555-5555",
"edad" => 97,
"dirección" = NULL
];
var_dump($a['tel']); // "555-5555"
Anote como el array arriba tiene sus propios nombres como claves. Los valores son separados de las claves por un doble flecha: =>.
Hay mucho más para conocer acerca de arrays. Nos meteremos en más detalles en un capítulo futuro.
Objetos
Un objeto es un tipo de dato particular que puede tener tanto valores como métodos asociados. Algunos objetos son integrados en PHP y puede usarlos para hacer muchas cosas, como interactuar con una base de datos externa (como MySQL) o interpretar un documento XML. También puede crear sus propios objetos y, en ese sentido, también puede pensar en los objetos como tipos de datos personalizados que crea para satisfacer las necesidades de su programa.
Objetos son definidos usando la palabra class
. Como tal, el termino "class" se usa para referir a la definición y el termino "object" se usa para referir a una instancia de esa definición. Lo puede considerar a un object siendo como una casa y una class siendo como los planes de como construir a esa casa.
PHP tiene un objeto básico que puede crear:
<?php
$casa = new stdClass();
Al crear un objeto, se necesita usar la palabra new
. Como resultado, PHP guarda objetos en memoria en una manera diferente que hace con otros tipos de datos primitivos. Esto puede efectuar a la velocidad de su programa, pero por lo general, eso raramente hace suficiente diferencia que se le debe convencer a no usar objetos.
Es posible a forzar a un objeto, sin embargo no hay muchos usos de esto y si lo quiere hacer, es importante entender los detalles. Puede leer más en la documentación oficial en convertir un objeto.
Hay mucho, mucho más que aprender acerca de objetos y programación orientada a objetos. Discutiremos más en un capítulo futuro.
Recursos
Un recurso es una conexión a un recurso externo. Puede ser algo como una conexión a una base de datos, un archivo abierto, o algo semejante. Hay muchos tipos de recursos, puede ver una lista aquí: Lista de tipos de recursos.
Discutiremos varios de estos recursos en detalle en capítulos separados.
Llamadas de retorno (Callbacks)
Una llamada de retorno es una función que se pasa a otra función como un parámetro. Cubriremos más en capítulos futuros, pero la idea que necesita entender es que una función pasada es un tipo de dato.
Recursos
- Manual de PHP: Arrays
- Manual de PHP: Objetos
- Manual de PHP: Recursos
- Manual de PHP: Llamadas de retorno
Retos
Investigación de Arrays
Hay muchos de funciones relacionados con arrays en PHP. Se puede ver una lista de ellas en la Manual de PHP sobre Arrays. Ve a esa página y echa un vistazo a las funciones. Pruebe algunas.
Una función que no está en esa lista es print_r()
. Es útil para mostrar un array. Prúebela.