PHP Programming language

Funciones de Arrays: array_shift y array_unshift – PHP Tips

Hay muchas funciones con arrays que cuando las ves en el listado de funciones crees que no las vas a usar nunca, quizá en el momento no le ves mucha utilidad, pero llega un día en el cual tienes que echar mano de ellas, esto me ha sucedido con las funciones array_shift y array_unshift, que ha llegado un día en el cual, no solo una, sino las 2 me han sido de mucha utilidad.

Array_shift

Definición:

array_shift() Quita el primer valor del array y lo devuelve, acortando el array un elemento y corriendo el array hacia abajo. Todas la claves del array numéricas serán modificadas para que empieze contando desde cero mientras que los arrays con claves literales no serán modificados.

Uso:

mixed array_shift(array &$array);

Array_unshift

Definición:

array_unshift() añade los elementos pasados al inicio de array. Observe que la lista de elementos se añade como un todo, por lo que los elementos añadidos permanecen en el mismo orden. Todas las claves numéricas del array serán modificadas empezando a contar desde cero mientras que las claves literales no se tocan.

Uso:

int array_unshift ( array &$array , mixed $value1 [, mixed $… ] );

Ejemplo

Imaginemos que tenemos que obtener datos desde un fichero CSV procesarlo y escribir los datos en otro fichero CSV. Estos ficheros siempre llevan un encabezado el cual nos define el nombre de las columnas. Esta linea no nos será de mucha utilidad a la hora de procesar los datos contenidos en el fichero, pero es necesaria a la hora de escribir los datos en el otro fichero.


// $csv contiene los siguientes datos:
  $csv = array(
           array('nombre','apellido','email','usuario'),
           array('Yo','Mismo','mi@email.es',''),
           array('Tu','Tambien','tu@email.com','')
         );
$cabecera = array_shift($csv); // $cabecera almacenara la primera fila
foreach ($csv as &$var) { // proceso el foreach por referencia para modificar los datos del array
    $var['usuario'] = $var['nombre'].".".$var['apellido']; //concateno el nombre y apellidos
}
$array_unshift($csv, $cabecera); // pongo el array con los nombres de columna al principo

+ Info:
array_shift

array_unshift

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s