Buenas les traigo mi duda.
Tengo una página A que tiene N cantidad de campos que envío a una página B que me crea una session_start(); con un array de todos los $_POST que recibió de A
Algo así tipo $_SESSION['elementos']=$_POST;
Ahora luego me voy a otra página que tambien tiene N cantidad de elementos que van a ser dirigidos hacia la página B y quiero que se agreguen al array $_SESSION['elementos'] que cree anteriormente.
El problema es que al querer agregar elementos a esa variable de session que es un array, unicamente me agrega lo ultimo y me borra lo primero, como hago para agregarle nuevos elementos a un Array que está en una variable session ?
podrías intentar
$_SESSION['elementos'][]=$_POST;
Para tu "otra página":
$_SESSION['elementos']= array_merge($_SESSION['elementos'], $_POST);
Ojo que esto reemplaza cualquier valor repetido por su última aparición, según el contexto podría ser mejor usar la primera opción que te propusieron (con el inconveniente de tener que recorrer más indices).
Saludos y muchas gracias a ambos.
He usado la solución dada por lex y efectivamente me conserva los elementos anteriores, pero me agrega los nuevos elementos haciendo otro array (osea creando una nueva dimension).
La pregunta es ¿Como agregarlos sin que me cree la otra dimension en el array existente?.
Saludos y muchas gracias, poco a poco me han ido aclarando el camino.
Lo que sucede es que no estas agregando los elementos del arreglo al arreglo, estás agregando un arreglo a un arreglo.
Si quieres tener todos los elementos del arreglo post en el arreglo de SESSION necesitas recorrer $_POST y agregarlo uno por uno.
foreach($_POST as $value) {
$_SESSION["elementos"][] = $value;
}