Eliminar un elemento en un array en PHP

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.

No hay comentarios:

Publicar un comentario