Modificar matrices

Modificar matrices

Fecha: 07-Mar-2008 | Autor: .
Guardado en: Tutoriales PHP

Modificar valores de una matriz, es tan sencillo como modificar el valor de una variable, simplemente le reasignamos un nuevo valor. Por ejemplo:

$frutas[0] = 'manzana';
$frutas[1] = 'naranja';
$frutas[2] = 'pera';
 
// para cambiar el valor de $frutas[1], simplemente:
$frutas[1] = 'banana';

Y si lo que quicieramos fuera agregar un elemento a la matriz, haríamos lo siguiente:

$frutas[0] = 'manzana';
$frutas[1] = 'banana';
$frutas[2] = 'pera';
 
$frutas[] = 'piña';
// 'piña' se agrega como el elemeno #3 de $frutas[]

Por último, veamos como eliminar elementos de una matriz. Para eliminar elementos de una matriz, contamos con la función unset(), que remueve una variable (o un elemento de una matriz) que se pasa como parámetro.
De modo que si quisiéramos eliminar el primer item de $frutas[] ($frutas[0] = ‘manzana’;), deberíamos llamar a: unset($frutas[0]);


¿Por qué este anuncio?

Esto tiene una sola contra, y es que eliminar un item de una matriz no implica el “reindexado”, me refiero a que si eliminamos el item del medio de $frutas[] ‘pera’ segurá en el item #2 (no bajará al #1). Pondré un ejemplo para aclarar este concepto:

$colores = array(0 => 'azul', 1 => 'rojo', 2 => 'verde');
unset($colores[1]);
/* producirá una matriz que hubiera sido definida como:
$colores = array(0 => 'azul', 2 => 'verde');
(note que saltea el #1) y NO como:
$colores = array(0 => 'azul', 1 => 'verde');
*/
 
// Para reordenar la matriz:
$colores_ordenados = array_values($colores);
// Ahora sí $colores_ordenados es:
// array(0 => 'azul', 1 => 'verde');

Que bien, ya sabemos crear matrices y ahora también: agregar, cambiar y eliminar elementos de las mismas, el próximo paso es aplicarlas, ya veremos como hacer para mostrar matrices!


Si te gustó, comparte:
Y si fue de ayuda, puedes comprarme un café:
...ó la cena si quieres! ;)

Etiquetado como:


Gravatar

Marcelo


Desarrollador web, trabajando desde Montevideo, Uruguay para todo el mundo. Me especializo en Diseño web, Maquetación HTML5 & CSS3, jQuery y Programación PHP & MySQL, e intento aprender un poco más cada día.

Deja tu opinión