¿Pero ese código que pusite está funcional?
Por qué mejor no pones el código más completo para poder analizarlo mejor...
Por ejemplo ahí hay algo que no coincide entre
$letters y $letter
Por cierto, quizás para buscar el color opuesto, o algo, te convendría acomodar las letters como 0123...... poniendo el cero delante...
Luego para obtener los 2 colores podrías hacer, que mientras en uno el rand es 15, para el otro sea 0, para cuando fue 6, para el otro sea 9, de esa forma irías obteniendo los opuestos, se me ocurre...
La otra, es que si no son muuuuuchas combinaciones, vos podrías armarlas y hacer que las vaya seleccionando según las necesita, sin repetirlas...
Azul sobre Amarillo
Rojo sobre blanco
Naranja sobre Gris
Negro sobre verde claro
Verde sobre gris
etc etc
Mi idea es esta, pero por algún motivo no funciona como yo esperaba...
A ver si algún iluminado sabe donde esta el problema :)
Seguiré testeando...
Código PHP:
$ai=0;
$letters = "0123456789ABCDEF";
while ($ai<6) {
$rand = rand(0,15);
$color1 = $color1.$letters[$rand];
switch ($rand){
case "0":$rand2 = "F"; break;
case "1":$rand2 = "E"; break;
case "2":$rand2 = "D"; break;
case "3":$rand2 = "C"; break;
case "4":$rand2 = "B"; break;
case "5":$rand2 = "A"; break;
case "6":$rand2 = "9"; break;
case "7":$rand2 = "8"; break;
case "8":$rand2 = "7"; break;
case "9":$rand2 = "6"; break;
case "10":$rand2 = "5"; break;
case "11":$rand2 = "4"; break;
case "12":$rand2 = "3"; break;
case "13":$rand2 = "2"; break;
case "14":$rand2 = "1"; break;
case "15":$rand2 = "0"; break;
}
$color2 = $color2.$letters[$rand2];
$ai++;
}
Bueno, acá esto funciona, no es muy muy bueno, ya que igual se forman combinaciones raras...
Sunpongo que se podría experimentar con ordenar $letters2 en otro orden que no sea exactamente el inverso, sino quizas moverlo unas posiciones, empezar desde el 6 quizas y poner 6789ABCDEF012345
No se, cuestión de probar...
Código PHP:
<?php
$ai=0;
$letters = "0123456789ABCDEF";
$letters2 = "FEDCBA9876543210";
while ($ai<6) {
$rand = rand(0,15);
$color1 = $color1.$letters[$rand];
$color2 = $color2.$letters2[$rand];
$ai++;
}
?>
<p><b><font color="#<?PHP echo $color1; ?>"><span style="background-color: #<?PHP echo $color2; ?>">HOLA</span></font></b></p>