2012-07-22 6 views

Respuesta

18

Comprobar esto:

$array = array('a', 'b','c'); 
unset($array[0]); 
$array = array_values($array); //reindexing 
13

Tome un vistazo a array_splice()

$array = array_splice($array, 0, 1); 

Si elimina específicamente el primer elemento (y no un elemento arbitrario en el medio de la matriz), es más apropiado array_shift().

+0

1, una mejor opción que 'desarmar combo/array_values'. –

+0

¿Por qué es esta una mejor opción que unset/array_values? ¿Velocidad? – Bashevis

+1

@Bashevis: hay una ventaja de velocidad, sí. Posiblemente aún más importante: es más limpio y claro. 'array_slice()' está diseñado para hacer esto exactamente. No hay dudas de lo que sucede cuando ves esa llamada a la función. 'unset(); array_values ​​(); 'logra lo mismo pero lo hace en dos pasos separados, lo que obliga al lector a resolver las consecuencias, es decir, a descubrir que es una forma de hacer un' array_slice() '. – VoteyDisciple

Cuestiones relacionadas