Archivo de la etiqueta: Array

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

Bucle For vs Bucle For/in en JavaScript – JavaScript Tips

A la hora de recorrer un conjunto de datos o un Array en JavaScript, lo normal es usar el bucle for de toda la vida

var valores = new Array('uno', 'dos', 'tres');
for (var i=0; i < valores.length; i++ ) {
document.write(valores[i]);
}

Este es el bucle al cual estamos acostumbrados, y siempre tenemos que usar length para calcular la dimensión del Array
En cambio si usamos el bucle for/in no hace falta tener que calcularlo

var valores = new Array('uno', 'dos', 'tres');
for (var i in valores) {
document.write(valores[i]);
}

Como se puede ver es bastante mas sencillo usar el bucle for/in que el for. Este bucle seria al equivalente en PHP del foreach
Otra ventaja mas que tiene es que nos permite recorrer un objeto de JavaScript, algo que con el bucle for usando length no nos permite hacer, por lo menos de una manera sencilla.

var person={fname:"John", lname:"Doe", age:25};
for ( x in person) {
document.write(person[x]);
}

Bucles for W3Schools (en inglés)

Enhanced by Zemanta