Ciao a tutti. Ho il seguente problema: in un ciclo foreach devo ciclare tra gli elementi della variabile links, trovare gli elementi che abbiano l'id ritornato dalla funzione $serviceToDelete->getId(), e quindi cancellarli da links. Quando provo la funzione, il mio programma, ho il seguente notice:
ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in C:blablabla (la riga del foreach)
Come faccio a sistemarlo? Se non ho capito male è perchè gli indici dell'array sono stati modificati, ma la funzione unset non dovrebbe lasciare gli indici inalterati?
Questo è il ciclo.
Codice PHP:
$i=0;
foreach($this->links as $link) {
if($link->getSource() == $serviceToDelete->getId()){
$targets->append($link->getTarget());
unset($this->links[$i]);}
$i++;}
Grazie mille e ciao! =D