Supongamos que tenemos un array en PHP como el siguiente:
$arr = array(
1 => 'uno',
2 => 'dos',
3 => 'tres',
);
Buscando alguna función para eliminar un elemento de $arr me topé con unset(), la cual para eliminar, por ejemplo, el segundo item se usaría de la siguiente manera:
unset($arr[2]);
Misión cumplida, o al menos eso uno espera, pero la sorpresa viene al observar el array resultante, el cual queda de la forma:
array(
1 => 'uno',
3 => 'tres',
);
Desapareció el índice 2, lo que nos puede generar todo tipo de dolores de cabeza si trabajamos con los índices. Afortunadamente existe la función array_values() que hace una reasignación de índices para los elementos del array por nosotros. En nuestro caso se invoca:
$arr = array_values($arr);
Quedando $arr como
array(
1 => 'uno',
2 => 'tres',
);
Para seguir trabajando normalmente.
$arr = array(
1 => 'uno',
2 => 'dos',
3 => 'tres',
);
Buscando alguna función para eliminar un elemento de $arr me topé con unset(), la cual para eliminar, por ejemplo, el segundo item se usaría de la siguiente manera:
unset($arr[2]);
Misión cumplida, o al menos eso uno espera, pero la sorpresa viene al observar el array resultante, el cual queda de la forma:
array(
1 => 'uno',
3 => 'tres',
);
Desapareció el índice 2, lo que nos puede generar todo tipo de dolores de cabeza si trabajamos con los índices. Afortunadamente existe la función array_values() que hace una reasignación de índices para los elementos del array por nosotros. En nuestro caso se invoca:
$arr = array_values($arr);
Quedando $arr como
array(
1 => 'uno',
2 => 'tres',
);
Para seguir trabajando normalmente.
No hay comentarios:
Publicar un comentario