Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Tag Archives array

Arrays asociativos en PHP: crear, editar, añadir, eliminar, extraer y eliminar elementos

Los arrays asociativos en PHP, son una de las herramientas más útiles para manejar información. A diferente de los arrays secuenciales, equivalentes a los vectores de C, el acceso no se hace al elemento iésimo, si no que lo hacemos a una clave, al estilo de las tablas hash.

Veamos un ejemplo con personas a las que se les referencia a través de su NIF. Como podéis imaginar, el acceso a través de ese dato es inmediato.

Creación

La creación es inmediata, nos limitamos a llamar a la función array seguida de los parámetros que serán sus elementos.

Insertar elemento en un array con PHP: array_push contra $array[]=

Los array en PHP son un tipo de dato muy flexible, podemos usarlo como una matriz real, una lista (vector), un tabla hash, un diccionario, una colección, una pila, una cola… es decir, es realmente flexible.

Una de las enormes ventajas que tiene para el desarrollador de alto nivel, es que su carácter dinámico ofrece una enorme facilidad al insertar datos dentro del mismo. Sin embargo, tenemos dos métodos básicos para insertar datos, cada uno con sus ventajas e inconvenientes. Veámoslos.

$array[]=

Es la forma más básica y la más rápida, aunque tiene un problema,

Indices negativos en un vector con PHP

En la mayoría de los lenguajes de programación de alto y bajo nivel, acceder a un elemento de un vector a través de un índice menor que cero implica acceder a una dirección de memoria que no hemos reservado, y en consecuencia almacenar en un lugar dónde no protegemos el contenido desde el mismo programa.

Para poder usar un índice negativo en el lenguaje C tendremos que declarar otro puntero auxiliar que acceda al espacio de memoria reservado por el anterior para que los menores que cero en ese rango sean equivalentes a sus análogos positivos.

Reservar memoria dinámica para una matriz en C

Acabamos de hablar hace nada de cómo reservar memoria para un vector unidimensional de forma dinámica con C. Hoy le toca el turno a las matrices o arrays bidimensionales. Los vectores se organizan de forma lineal, secuencial y con todos los elementos en posiciones correlativas en la memoria. Las matrices se almacenan en forma de vector de vectores.

Dimensiones fijas

Si es de dimensiones fijas (declarándolas como matriz[filas][columnas]), el vector de vectores se guardará también uno al lado del otro.

Por lo tanto, en una matriz del tipo:

a00
a01
a02

a10
a11
a12

a20
a21
a22

En memoria (en la que los elementos los direccionamos en una sola dirección) los tendríamos de la siguiente forma (en cada lenguaje este criterio cambia,

Reservar memoria dinámica para un vector en C

Puesto que estamos hablando bastante de C en el curso de programación de videojuegos con SDL, voy a publicar una serie de pequeños apuntes sobre programación en C que seguro que os son de utilidad. No van a constituir un curso como tal pero serán una serie de entradas relacionadas sobre este tema.

Memoria dinámica

Cuando trabajamos con variables, el compilador genera código máquina que se encarga de reservar memoria al comienzo de la ejecución y de liberarla al finalizar la misma. Cuando necesitamos trabajar con una serie de datos que no sabemos cuánto van a ocupar,

Ordenar arrays asociativos en PHP: diferencia entre ksort y asort

Los arrays asociativos son estructuras de datos que PHP nos ofrece para poder almacenar datos asociados a una serie de claves, en lugar de a un índice numérico. En otros lenguajes, se les denomina tablas hash.

La ordenación de dichos arrays, es una de las operaciones básicas de cara a un correcto manejo de los mismos. Para poder llevar a cabo esa operación, PHP nos ofrece dos funciones: asort y ksort que vamos a explicar en esta entrada. Este tipo de array se utiliza muy a menudo al hacer consultas contra bases de datos,