Например, Вам необходимо конвертировать RGB-значение в шестнадцатеричный формат. Вам поможет следующая функция:
function getHexByRGB($r,$g,$b) { return sprintf('#%02x%02x%02x', $r, $g, $b); }
Тут все гениально и просто.
Функция sprintf возвращает значение, которое получается при помощи определенного форматирования. Здесь «%02» — это минимальная ширина выводимого числа, т. е. вместо “8” будет получено “08”; “x” — вывод числа в шестнадцатеричном формате. Подробнее о функции sprintf можно посмотреть на php.net.
Также можно немного видоизменить функцию, принимая массив:
function getHexByRGB($rgb) { if (!is_array($rgb) return false; return sprintf('#%02x%02x%02x', $rgb[0], $rgb[1], $rgb[2]); }