Bueno aqui esta , supongo que ya tiene que ir sin fallos:
   Código PHP:
    class TableColorManager 
{ 
    private $_colors = array(); 
    private $_currentColor  = 0; 
 
    public function AddColor($color) 
    { 
        if(!is_string($color)) 
        { 
            throw new Exception("\$color parameter must be a string"); 
        } 
 
        if(preg_match('/^#[a-f0-9]{6}$/i', $color))  
        { 
            array_push($this->_colors, $color); 
        } 
        else 
        { 
            throw new Exception("Invalid color"); 
        } 
     
        return $this; 
    } 
 
    public function getNextColor() 
    { 
        $returnIndex = $this->_currentColor;
 
        if($this->_currentColor >= count($this->_colors) - 1) 
        { 
            $this->_currentColor = 0; 
        } 
        else 
        { 
            $this->_currentColor++; 
        } 
 
        return $this->_colors[$returnIndex]; 
    } 
} 
 
$colors = new TableColorManager(); 
$colors->AddColor("#ffffff")->AddColor("#ff00ff"); 
$colors->AddColor("#000000"); 
$colors->AddColor("#abc5e2"); 
 
for($i = 0; $i <= 10; $i++) 
{ 
    echo "Current color: " . $colors->getNextColor() . "<br />"; 
    // Aqui puedes poner tu codigo y usar $colors->getNextColor() para cojer el color
} 
    
  Saludos.