Я пытаюсь преобразовать шестнадцатеричное число в правильное css
форматирование:Преобразование шестнадцатеричного числа в строку
$white = hexdec('#ffffff');
//Loops for a bunch of colours
for($i = 0 ; $i <= $white ; $i=$i+5000)
{
//set default css background-color property
$backgroundValue = dechex($i);
//if there are less of 7 characters (ex. #fa444, or #32F, ...)
if($numLen = strlen(dechex($i)) < 7)
{
//insert (7 - numbers of characters) number of zeros after #
for ($j = 0 ; $j < 7 - $numLen ; $j++)
$backgroundValue = strtr($backgroundValue, '#', '#0');
}
//echo each div with each background-color property.
echo '<div class="colour" style="width: 10%; float: left; background: '.$backgroundValue.';">'.dechex($i).'</div>';
}
Но это не работает. Как я могу превратить шестнадцатеричное число в строку вроде: #FFFFFF
.
Update:
Проблема заключалась в том, что я не проходил мимо #
к началу строки: $backgroundValue = '#'.dechex($i);
.
Этот код работает отлично:
$white = hexdec('#ffffff');
for($i = 0 ; $i <= $white ; $i=$i+10000)
{
$backgroundValue = '#'.dechex($i);
$numLen = strlen(dechex($i));
if($numLen < 6)
{
for ($j = 0 ; $j < (6 - $numLen) ; $j++)
$backgroundValue = str_replace('#', '#0', $backgroundValue);
}
echo '<div class="colour" style="width: 10%; float: left; background: '.$backgroundValue.';">'.$backgroundValue.'</div>';
}
Эта ссылка может помочь: http://www.anyexample.com/programming/php/php_convert_rgb_from_to_html_hex_color.xml – jeff
'$ белый = HexDec ('FFFFFF'); // <- 16777215 var_dump (dechex ($ white)); // <- 'ffffff'' – TiMESPLiNTER
Вам не хватало ')' для функции 'strtr()' и '#' для свойства color, но оно работает для меня? http://jsfiddle.net/fxm79/ http://sandbox.onlinephpfunctions.com/code/efb1e4c7a9cd44e8009f544c323b8009adb211e1 –