Tengo una aplicación donde utilizo un arrayobject para agregar, modificar y eliminar una lista de elementos. Para que los elementos no se pierda utilizo una variable de session, pero cuando voy a realizar cambios sobre los elementos se los asigno a un arrayobject que tengo definido en mi controlador.
Parte del codigo para eliminar:
Código PHP:
public function eliminarformaAction()
{
$formaEnviada = $this->getRequest()->getParam('id', 0);
$index = 0;
$session = new Zend_Session_Namespace();
$this->_colFormasPago = $session->formasPago;
for($i=0;$i<$this->_colFormasPago->count();$i++){
if($this->_colFormasPago->offsetGet($i) == $formaEnviada){
$index = $i;
}
}
$this->_colFormasPago->offsetUnset($index);
$this->_forward('agregar');
}
"Undefined offset :"
Estuve buscando en internet y por lo general dicen que antes de consultar un campo verifique que exista, para lo cual antes del if hice lo siguiente:
Código PHP:
if($this->_colFormasPago->offSetExists($i)){
//aca va el if que verificar el campo
}
Porque razon el indica que no existe el campo ?
Saludos.