RGBの値を16進数に変換 (ランダムに表示)

PHPでWEBカラー(16進数)を自動的に生成する関数です。[sample]とりあえずはランダムで生成していますが、ループで0から255まで生成すれば全色表示可能だと思います。(すげー時間かかりそうですが。)PHPにはdechex()という関数があって10進数を16進数に変換してくれます。なので、0から255の任意の数字をFF〜00に変換してくれます。当然RGBで3色あるので3色ぶんつくって合成すればいいだけです。

<?php
// RGBを16進数に変換

$red = rand(0,255);
$green = rand(0,255);
$blue = rand(0,255);

$color16 = change16_color($red, $green, $blue);

function change16_color ($red,$green,$blue) {

# 16進数にそれぞれ変換
$red = dechex($red);
$green = dechex($green);
$blue = dechex($blue);

if (strlen($red) == 1) { $red = $red.$red; }
if (strlen($green) == 1) { $green = $green.$green; }
if (strlen($blue) == 1) { $blue = $blue.$blue; }

$color16 = '#'."$red$green$blue";
return $color16;
}
?>

<h1><span style='color:<?php echo $color16;?>'><?php echo $color16; ?></span></h1>