Os cuento mi problema a ver si podeis ayudarme. Tengo una variable de sesión de la que elimino elementos (lo que el usuario quiera eliminar) con unset() , pero por lo que he podido comprobar, borra el elemento, pero no desplaza las posiciones, por lo que si inserto tres elementos en la variable de sesion, las posiciones 0 1 y 2 están ocupadas, y si elimino el segundo elemento, las posiciones 0 y 2 estarán ocupadas, de hecho si muestro el numero de elementos despues de haber eliminado uno, me lo da bien, me dice que contiene 2 elementos.
Como las posiciones vacias se mantienen, tengo que usar foreach() para recorrer la variable, porque si pusiera for($i=0;$i<count($S_SESSION['nombre'];$i++) me recorrería las posiciones 0 y 1 porque tiene 2 elementos, pero claro los elementos están en las posiciones 0 y 2, así que el primero me lo mostraría pero el segundo no.
Mi problema es como eliminar con foreach la posición que necesite. Os pongo el código para que se entienda mejor:
Código PHP:
foreach ($nombre as $n){
if($ejemplo == $n){
//eliminar el valor $n de la variable de sesión
}
}
Muchas gracias