Q:

Gerar cor unica para cada resultado

entao.. eu tenho um sistema de comentarios de forma anonima em um projeto meu que no lugar do avatar ele coloca a abreviação do nome da pessoa, por exemplo:    
Vinicius Eduardo -> VE

e eu quero criar um sistema ou uma funcao que gere uma COR unica para cada abreviacao, para assim o usuario ser identificado com mais facilidade. 
Resumindo tudo, eu tenho uma array contendo 24 cores em formato "#VLVLVL" e para cada abreviacao ele vai dar uma cor unica, por exemplo  VE -> #cccccc ED -> #000000 e se o VE comentar novamente a cor dele se repete como #cccccc

A:

Considerando uma array de cores assim:
$cores = array('#000', '#333', '#666', '#999'); // do tamanho que você precisar

Eu criaria uma segunda array, associativa, onde você guarda as cores para cada usuário. Ela começa vazia:
$coresPorUsuario = array();

E a ideia é que ela passe a conter as cores dos usuários conforme eles vão surgindo. Por exemplo, array('VE' => '#000', 'ED' => '#333'). 
Para controlar tudo, use uma função. Ela recebe as iniciais do usuário e devolve a cor correspondente. Se o usuário já existe em $coresPorUsuario, pega a cor que está lá. Se não existe, pega a próxima cor disponível, associa ao usuário, e devolve essa cor. Também será necessária uma variável para controlar qual é a próxima cor disponível.
$proxima = 0;    
function corUsuario($usuario) {

    global $cores;
    global $coresPorUsuario;
    global $proxima;

    // Usuário ainda não existe na array
    if(empty($coresPorUsuario[$usuario])) {
        // Guarda a cor do usuário e avança para a próxima cor disponível
        $coresPorUsuario[$usuario] = $cores[$proxima++];

        // Se passou da quantidade de cores disponíveis, começa novamente da primeira
        $proxima = $proxima == count($cores) ? 0 : $proxima;
    }

    // Retorna a cor do usuário
    return $coresPorUsuario[$usuario];
}

AVISO: O exemplo acima usa variáveis globais por ser um caminho curto como exemplo. É provável que você queira implementar essa função como um método de uma classe. Nesse caso, use propriedades de instância em vez das variáveis globais.

Testando:
echo corUsuario('AA') . "\n"; // #000
echo corUsuario('AB') . "\n"; // #333
echo corUsuario('AC') . "\n"; // #666
echo corUsuario('AA') . "\n"; // #000
echo corUsuario('AD') . "\n"; // #999
echo corUsuario('AE') . "\n"; // #000

Demonstração

A:

Você pode criar uma array para as cores ja usadas e outra para as cores de cada usuário.
Eu poderia usar uma solução mais curta e prática, (e que alias usasse menos CPU..) mas queria que as cores fossem aleatorias.. mas como os usuários (ordenados por ID) já são aleatório o suficiente, acho a solução do bfavaretto melhor. Embora eu ache a solução dele mais prática e leve, vou manter a minha caso ainda tenho algum uso...
fiz uma simples "ilustração".
<?php
// Array para as cores de cada usuário.
# "NomeDeUsuario" => "COR HEX";
$usersColors = array();

// Array para as cores disponiveis [usei cores aleatorias]
$avaliableColors = array(
    0 => "#ececea",
    1 => "#efefef",
    2 => "#abcdef"
);

// Primeiro pegamos os usuários, eles são a parte importantes
$users = array(
    'banana123',
    'SouEUmesmo',
    'kitKat159',
);

// Se tiver mais usuários do que cores, abortar execução
if ( count($users) > count($avaliableColors) ) {
    die("ERRO: existem mais usuários do que cores.");
}

// Vamos criar uma array que guarda as cores ja usadas, pra não repeti-las
$alreadyUsed = array();
$userCount = count($users);
$colorCount = count($avaliableColors);

// Definindo uma cor aleatoria para cada um
for ($i=0;$i<$userCount;++$i) {
    // Numero aleatorio representando uma das cores.
    $max = $colorCount-1;
    $numeroAleatorio = rand(0, $max);

    if (in_array($numeroAleatorio, $alreadyUsed)) {
        // Se o numero ja tiver sido usado, ficar até encontrar um não utilizado
        $numeroNaoUsadoEncontrado = false;

        while ($numeroNaoUsadoEncontrado != true) {
            $numeroAleatorio = rand(0, $max);

            // Se o numero não tiver sido utilziado aidna
            if (!in_array($numeroAleatorio, $alreadyUsed)) {
                // Sair do loop de tentativas
                $numeroNaoUsadoEncontrado = true;

                // Colocar esse numero como já usado.
                $alreadyUsed[] = $numeroAleatorio;
            }
        }
    }
    else {
        // Colocar esse numero como já usado.
        $alreadyUsed[] = $numeroAleatorio;
    }

    // Agora que a cor ja foi escolhida, atribuir ela ao usuário
    $userName = $users[$i];
    $usersColors[$userName] = $avaliableColors[$numeroAleatorio];
}

# DEBUG
echo "<br>";
foreach ($usersColors as $user => $color) {
    echo $user . " -> " . $color . "<br/>\n";
}

