LMPX.COM |
Home | Linux | Mysql | PHP | XML | ||
|
|
|||
From: M. Sokolewicz Date: Mon Jun 9 09:04:57 2008 Subject: Re: foreach loop herdefinieren
Arnoud wrote: > In het onderstaande voorbeeld maakt de foreach loop gewoon het hele eerste array af van 1 tot 0. Graag had ik gezien dat de lijst zou worden omgezet in 1,2,3,4,8,9,0. Wat ik met de unset heb geprobeerd, maar daarmee maak je het foreach geheugen niet leeg. Wie helpt me aan een functie of een paar extra regels, zodat ik dat wel kan?? > > <?php > $arr = array(1,2,3,4,5,6,7,8,9,0); > foreach($arr as $a) { > echo "$a\n"; > if ($a == 5) { > unset($arr); > $arr = array(8,9,0); > } > } > ?> > > Met vriendelijk groet, Arnoud > kettenis@hotmail.com > Dit is de mailinglijst voor de nederlandse vertaling van de PHP handleiding, niet voor hulp met code. Daarvoor kun je beter een mail sturen naar php-general@lists.php.net Om antwoord te geven op je vraag: Je kunt 2 dingen doen: 1. de input array veranderen in: $arr = array(1,2,3,4,5,8,9,0); of 2. ertussen skippen met continue; dus: $arr = array(1,2,3,4,5,6,7,8,9,0); foreach($arr as $a) { if($a > 5 and $a < 8) { continue; } else { echo $a, "\n"; // doe iets } } De input array van de foreach veranderen _terwijl_ die hem loopt is gevaarlijk, maar kan als je een reference gebruikt. Opnieuw, dit is in 99.999% van de gevallen een slecht idee. - Maciek
| Navigate in group php.doc.nl at sever news.php.net | |
| Previous | Next |
| © No Copyright You are free to use Anything |
Site Maintained by PHP Developer
Powered By PHP Consultants |