Senza polemica ma mi sembra di aver scritto correttamente, al posto del commento dentro al ciclo potevano starci quelle due cose, o un unset() o un ksort()...Originariamente inviato da piero.mac
In ogni caso nel primo post avevi esposto le cose diversamente. Ma fa lo stesso.
Per spiegare a cosa mi serve, anche se non è rilevante, è che gli elementi dell'array sono nomi di funzioni (una sorta di lista di task) e la chiave un timestamp che dice quando eseguire quella funzione, ma la chiave potrebbe essere benissimo un intero e il timestamp tenerlo dentro un ulteriore array annidato, ma non è importante questo.
Il foreach scorre le funzioni, controlla se il time() è > del timestamp, nel qual caso esegue la funzione.
Capita che una volta eseguito un task (funzione), essa debba essere tolta dalla lista dei task (array), e mi chiedevo se era consistente farlo dentro il foreach mentre esso gira oppure faccio l'unset() e magari un break e poi ricomincio da capo il foreach (se tutto è dentro un while(1) {...} ) Al momento faccio un break.