Sto assumendo che esista già un contatore. in $ i che viene incrementato alla fine di un ciclo, questo funziona per me usando una query abbreviata.
$row_pos = ($i & 1) ? 'odd' : 'even';
Quindi cosa fa questo, beh, la domanda che stiamo facendo in sostanza $ i è dispari, a seconda che sia vero o falso deciderà cosa viene restituito. Il valore restituito popola la nostra variabile $ row_pos
Il mio uso di questo è quello di posizionarlo all'interno del ciclo foreach, proprio prima che ne abbia bisogno, questo lo rende un liner molto efficiente per darmi i nomi delle classi appropriate, questo perché ho già un contatore per l'id da utilizzare più avanti nel programma. Questo è un breve esempio di come userò questa parte.
<div class='row-{$row_pos}'> random data <div>
Questo mi dà classi dispari e pari su ogni riga in modo da poter usare la classe corretta e strisciare i miei risultati stampati lungo la pagina.
L'esempio completo di ciò che uso nota che l'id ha il contatore applicato ad esso e alla classe è stato applicato il mio risultato pari / dispari .:
$i=0;
foreach ($a as $k => $v) {
$row_pos = ($i & 1) ? 'odd' : 'even';
echo "<div id='A{$i}' class='row-{$row_pos}'>{$v['f_name']} {$v['l_name']} - {$v['amount']} - {$v['date']}</div>\n";
$i++;
}
in sintesi, questo mi dà un modo molto semplice per creare una bella tabella.