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