3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rgba = 'rgba(80,80,80,0.5)'; function blendChannels(float $alpha, int $channel1, int $channel2): int { // blend 2 channels return intval(($channel1 * $alpha) + ($channel2 * (1.0 - $alpha))); } function convertRGBAtoHEX6(string $rgba): string { // sanitize $rgba = strtolower(trim($rgba)); // check if (substr($rgba, 0, 5) != 'rgba(') { return $rgba; } // extract channels $channels = explode(',', substr($rgba, 5, strpos($rgba, ')') - 5)); // compute rgb with white background $alpha = $channels[3]; $r = blendChannels($alpha, $channels[0], 0xFF); $g = blendChannels($alpha, $channels[1], 0xFF); $b = blendChannels($alpha, $channels[2], 0xFF); return sprintf('#%02x%02x%02x', $r, $g, $b); } echo convertRGBAtoHEX6($rgba);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
#a7a7a7

preferences:
96.37 ms | 403 KiB | 91 Q