PHP - eerste resultaat uit een foreach loop
MVB op 31 maart 2010 #
<?php
foreach ( $images as $thumb ) { ?>
<li><a href="<?php echo $thumb['link'] ?>" title="<?php echo $thumb['caption']; ?>" rel="prettyPhoto[gallery1]">
<?php echo alleen bij eerste link ?>
</a></li>
<?php }?>
Hieruit volgt een lijst met links. Nu wil ik bij alleen het eerste resultaat/ de eerste link iets echoën, en ik kom er niet :roll:
Enig idee hoe ik in php het eerste resultaat uit een foreach loop kan 'aanspreken'?
ErikBruinsma op 31 maart 2010 #
Kan o.a. op deze 2 manieren
- Je gebruikt geen foreach
- Je laat een teller mee lopen
$i = 1;
foreach ($images as $thumb) {
if ($i == 1) {
echo 'eerste resultaat';
} else {
echo 'niet het eerste resultaat';
}
$i++;
}
Lord Palf op 31 maart 2010 #
't is misschien niet zo'n fraaie oplossing, maar je zou een vlaggetje 'isFirst' kunnen zetten voordat je de foreach loop in gaat. In het geval van isFirst, zet je het vlaggetje op false en echo je de gewenste content. In alle opvolgende iteraties zal dit niet meer gebeuren.
MVB op 31 maart 2010 #
Wauw, tweede oplossing van ErikBruinsma werkt. Heel erg bedankt, nu kan ik weer verder ![]()
danielpunt op 31 maart 2010 #
je zou natuurlijk ook gewoon de eerste rij uit een array kunnen halen met array_shift als je niks met de rest van de array moet doen.
als dat wel het geval is en je array heeft een numerieke index kun je het ook zo oplossen
foreach ($images as $index => $thumb)
{
if ($index == 0)
// first element
}
Rolfje op 02 april 2010 #
De oplossing van ErikBruinsma is denk het simpelst en het snelst in gebruik.
dev10 op 12 april 2010 #
Dat is het niet. De oplossing van The_J is het beste. Verder lijkt het er op dat je data uit een database gebruikt, en dan kun je met een limit op je query ook heel veel bereiken.
Advertentie
Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.