такой функции нет,
вам нужно написать свою собственную функцию, которая извлекает значения R, G и B по отдельности,
и зацикливает их на каждое значение и обнаруживает, что самое близкое это (общее количество R и G и B меньше самого маленького)
Вы можете найти все названия цветов HTML здесь: http://www.w3.org/TR/SVG/types.html#ColorKeywords
например:
пользователь дает в [250,1,2] (красный цвет). у вас есть массив:
$input = [255,1,2]
$colors = array("red" => [255,0,0],"green"=>[0,255,0]) // used JS array to be quiker
foreach( $ .. as .. $color){ // or a sort function?
// get diff, key 0 is red key 2 is blue
$diff = abs($input[0] - $color[0]) + ... + abs($input[2] - $color[2]);
}
красный будет иметь разность: 5 + 1 + 2
зеленый будет иметь: 250 + 254 + 2
синий это: 250 + 1 + 253
красный имеет наименьшую сумму, поэтому он должен быть ближе к красному.
следующий - синий, а затем зеленый