2012-03-17 41 views
1

我GOOGLE了有關功能如何轉換十六進制RGB顏色代碼如何呼應返回數組

<?php 
function html2rgb($color) 
{ 
    if ($color[0] == '#') 
     $color = substr($color, 1); 

    if (strlen($color) == 6) 
     list($r, $g, $b) = array($color[0].$color[1], 
           $color[2].$color[3], 
           $color[4].$color[5]); 
    elseif (strlen($color) == 3) 
     list($r, $g, $b) = array($color[0].$color[0], $color[1].$color[1], $color[2].$color[2]); 
    else 
     return false; 

    $r = hexdec($r); $g = hexdec($g); $b = hexdec($b); 

    return array($r, $g, $b); 
} 
?> 

我無法訪問這樣的回聲html2rgb(「#CCCCCC」)的數據;因爲它是一個數組

//編輯我只想說,感謝球員如何回答。 :)

回答

2

也可以像這樣訪問或print_r($rgb)

1

嘗試print_r(html2rgb('#cccccc'));

這會幫助你理解:

$rgb = html2rgb('#cccccc'); 
$r = $rgb[0]; 
$g = $rgb[1]; 
$b = $rgb[2]; 

然後

echo "Red = $r, Green = $g, Blue = $b"; 

或只是var_dump($rgb)What's the difference between echo, print, and print_r in PHP?

+0

奧基([0] => 204 [1] => 204 [2] => 204),但如何回聲每個人 – Ben 2012-03-17 22:15:37

1

我想你想要沿着的路線的東西更多:我有陣列

$cc = html2rgb('#cccccc'); 
echo "[".$cc[0].",".$cc[1].",".$cc[2]."]"; 
+0

回聲「[$ cc [0],$ cc [1],$ cc [2]]」; < - 會更好 – Kinz 2012-03-17 22:17:43