1) ma scusa il break non è l'istruzione generale per interrompere il ciclo... :master: in ogni caso dovrebbe diventarlo, perchè è molto più comprensibile di un intervento manuale sulla condizione del FOR, senza contare che allora come si esce dal FOREACH? e per il WHILE si deve stare a creare un flag esterno come nuova variabile... non mi pare per niente corretto.
edit: controllavo per sicurezza, http://it.php.net/manual/it/control-...ures.break.php ma effettivamente è così. tra l'altro mi stavo scordando la possibilità di dare il parametro al break per i cicli annidati.
2) ovviamente ho usato do while perchè sono sicuro che l'array è pieno. quindi questi che sono qualificati costrutti sono in realtà considerati funzioni alla pari di un count() o altro?