"00"在PHP函数中变为"0",但RGB必须为"00"才能工作.怎么样?

Sam*_*Sam 4 php rgb colors zero

这个PHP RGB亮度改变功能部分工作:

在此输入图像描述

它最后错过了一个零"0":所以它应该是"00"如何解决这个问题?

$color = "#a7a709";  // constant 
$color1 = brightness($color,+25); // brighter, echoes #c0c022, correct RGB value
$color2 = brightness($color,-25); // darker echoes #8e8e0, incorrect RGB value!!
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?非常感激!

功能亮度();

### CREDITS go to Cusimar9 who wrote this
function brightness($colourstr, $steps) {
  $colourstr = str_replace('#','',$colourstr);
  $rhex = substr($colourstr,0,2);
  $ghex = substr($colourstr,2,2);
  $bhex = substr($colourstr,4,2);

  $r = hexdec($rhex);
  $g = hexdec($ghex);
  $b = hexdec($bhex);

  $r = max(0,min(255,$r + $steps));
  $g = max(0,min(255,$g + $steps));  
  $b = max(0,min(255,$b + $steps));

  return '#'.dechex($r).dechex($g).dechex($b);
}
Run Code Online (Sandbox Code Playgroud)

Ebo*_*ike 8

return sprintf("#%02x%02x%02x", $r, $g, $b);
Run Code Online (Sandbox Code Playgroud)