In un ciclo foreach, come posso individuare l'ultimo elemento del ciclo?
Ho il seguente codice per eseguire un ciclo foreach, voglio individuare l'ultimo elemento nel ciclo (ad esempio se il ciclo passa attraverso 3 eventi, voglio individuare il terzo evento) per applicare uno stile CSS leggermente diverso. Come posso farlo?
<?php $pages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'menu_order'));
foreach($pages as $post)
{
setup_postdata($post);
$fields = get_fields();
?>
<div class="event">
<img class="event-thumbimage" src="<?php echo $fields->thumb_image; ?>" height="120" width="140" alt="<?php echo $fields->event_title; ?>" />
<h2><?php echo $fields->event_title; ?></h2>
<p>
Località: <?php echo $fields->location; ?><br />
Inizio: <?php echo $fields->start_date; ?> alle <?php echo $fields->start_time; ?>
<?php $fields = get_acf(); if($fields->end_date != "") : ?>
, Fine: <?php echo $fields->end_date; ?> alle <?php echo $fields->end_time; ?>
<?php else : ?>
<?php endif; ?>
</p>
<p style="margin-bottom:0px!IMPORTANT;"><?php echo substr($fields->description,0,170) . "..."; ?></p>
<p><a class="read-more" href="<?php echo get_page_link($post->ID); ?>" title="Leggi di più su: <?php echo $fields->event_title; ?>">Leggi di più...</a></p>
</div>
<?php } wp_reset_query(); ?>
Grazie, stranamente ha aggiunto l'ultima classe al secondo elemento invece che al terzo (cioè l'ultimo elemento).

Ah sì, è perché $key parte da zero, non da uno. Ho corretto il codice. Dimmi se ora funziona.

dovrebbe essere if( $key == (count( $pages ) -1) )
visto che il primo indice dell'array è 0 mentre la funzione count parte da 1.

@Bainternet Grazie, sapevo cosa fare ma non riuscivo a far funzionare la sintassi correttamente!

@Bainternet Si comporta in modo un po' strano. Usando -1 come conteggio rende il primo elemento "ultimo". Quando lo cambio a +1, non funziona quando ci sono solo due elementi nella lista ma funziona quando ce ne sono 3, argh!!
