PHP 将 RGB 数组转换为字符串变量



我正在将十六进制代码转换为 RGB,当我回显时,这是正确的输出 EG, 55,55,55 .我想将此 RGB 值分配给一个名为 RGBColour 的变量,但它只是将单词"数组"分配给变量。有人可以给我一个关于我做错了什么的指示。

$hexcolour = $_POST['hexcolour'];
$RGBcolour = list($r, $g, $b) = sscanf($charitycolour1, "#%02x%02x%02x"));

RGBcolor 是一个数组,如var_dump所示,但随后您可以使用sprintf再次获得 RGB 颜色:

$charitycolour1 = '#ff3300';
$RGBcolour = list($r, $g, $b) = sscanf($charitycolour1, "#%02x%02x%02x");
var_dump($RGBcolour);

$RGBcolour = sprintf("#%02x%02x%02x", $r, $g, $b);
echo 'RGBcolour: '.$RGBcolour;

输出

array(3) {
[0]=>
int(255)
[1]=>
int(51)
[2]=>
int(0)
}
RGBcolour: #ff3300

如果您希望 RGB255,51,0您可以使用join

$charitycolour1 = '#ff3300';
$RGBarray = sscanf($charitycolour1, "#%02x%02x%02x");
$RGBcolour = join(',', $RGBarray);
echo 'RGBcolour: '.$RGBcolour;

此输出:RGBcolour: 255,51,0

如果稍后您希望从该255,51,0值再次使用十六进制值:

$RGBcolour = '255,51,0';
$RGBarray = explode(',', $RGBcolour);
$hexaColour = sprintf("#%02x%02x%02x", $RGBarray[0], $RGBarray[1], $RGBarray[2]);
echo 'Hexa Colour: '.$hexaColour;

输出:Hexa Colour: #ff3300

最新更新