Tilgangslaust en fínt að gera svona rugl við og við.
class Zebra { public static $z; private $_aZebra = array(); public function __construct( $aInput = '' ) { if( is_array( $aInput ) && !empty( $aInput ) ) { $this->_aZebra = $aInput; } else { $this->_aZebra = array( '#fff', '#000', ); } } public function z() { if( !$this->z || !in_array( $this->z, $this->_aZebra ) ) { $this->z = $this->_aZebra[0]; return $this->z; } $iCount = count( $this->_aZebra ); $iPos = array_search( $this->z, $this->_aZebra ); if( $iPos == $iCount ) $this->z = $this->_aZebra[0]; else $this->z = $this->_aZebra[$iPos + 1]; return $this->z; } }
Ég hef nöfnin viljandi villandi til að þið rýnið ofan í classann og reynið að skilja hvað sé í gangi í honum.
Ef hann virkar ekki eins og þið viljið að hann virki, breytið honum þá. :)
Notkun:
$z = new Zebra(array('#f0f', '#faf', '#faa', '#aaf')); foreach( $aContent as $oContent => $oThisContent ) { $z->z(); ?> <li style="background-color: <?php echo $z->z; ?>;"><?php echo $oThisContent->iCID; ?> <?php echo $oThisContent->sAuthor; ?></li> <?php } ?> </ul>
Annað dæmi væri t.d. nafn á css-class
$z = new Zebra('left', 'right'); foreach( $array as $key => $value ) { $z->z(); ?> <li class="<?php echo $z->z; ?>">asdf</li> <?php } ?>
Enjoy