Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2005, 05:17
sergiold
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
Problema con unset(), en un array

A ver si me explico bien:

tengo un array del tipo:
Código PHP:
$tabla[] = array(
        
'content' => 'no',
        
'nombre' => 'Tabla 1',
        
'archivo' => 'tabla1',
        
'orden' => 0); 
Con un script que me funciona correctamente voy añadiendo entradas a este array:
Código PHP:
$tabla[] = array(
        
'content' => 'no',
        
'nombre' => 'Tabla 2',
        
'archivo' => 'tabla2',
        
'orden' => 1); 
Estas se añaden al final.
Una vez ya tengo el array actualizado con la ultima entrada creo una tabla dinamica donde me muestra en cada fila una entrada (uso un for() para recorrer el array) . Esto funciona correctamente.

El problema viene si quiero que se elimine una entrada.
Código PHP:
unset($tabla[$numero]); 
La entrada creo que se elimina pero cuando hago la tabla recorriendo el array es como si me detectara que hay un trozo donde falta algo, pero como esta eliminado me da todos los errores nulos.

Supongo que el problema es que si elimino por ejemplo $tabla[1] y recorro el array, este consta de:

$tabla[0] y seguidamente $tabla[2]. Dejando el hueco entre medio, lo que hace que en la tabla salgan valores nulos.

Mi pregunta es: ¿hay alguna manera usando unset() u otra función de que si elimino una entrada del array automáticamente las de detras se muevan par no dejar el espacio?

Espero haber sido claro.

Muchas gracias y muchos saludos,
__________________
sergiold