Random color in foreach loop
4 posts by 2 authors in: Forums > CMS Builder
Last Post: September 11, 2017 (RSS)
By Mikey - September 9, 2017 - edited: September 9, 2017
Anyone have any suggestions on how to get a random rgba() color in this foreach loop?
<?php if ($tagsToCount): ?>
<?php $maximumResults = 12;
$resultCount = 0;
?>
<?php $totalTagCount = array_sum($tagsToCount); ?>
<?php
arsort($tagsToCount);
$tagsToCount = array_slice($tagsToCount, 0, 99);
foreach ($tagsToCount as $key => $value): ?>
'rgba(255, 99, 132, 0.2)', <<<<// I need this to be a random results.
<?php if (++$resultCount == $maximumResults) { break;}?>
<?php endforeach ?>
<?php endif ?>
Thanks Zicky
By Mikey - September 10, 2017
Got this figured out. Not going to say it's perfect, but it seems to be working so far.
<?php foreach ($namesRecords as $record): ?>
<?php
{
$r = rand(0,255);
$g = rand(0,255);
$b = rand(0,255);
$color = dechex($r) . dechex($g) . dechex($b);
}
?>
<?php echo "rgb(".$r.",".$g.",".$b.")"; ?>
<?php endforeach ?>
Zicky
By Mikey - September 11, 2017
Thanks Dave,
Here's what I came up with as the final solution for random RGB colors. This has a way to control the opacity of the colors displayed.
<?php foreach ($nameRecords as $record): ?>
<?php {
$r = rand(0,255); $g = rand(0,255); $b = rand(0,255); $opacity = 0.4;
} ?>
'<?php echo "rgba(".$r.",".$g.",".$b.",".$opacity.")"; ?>',
<?php endforeach ?>
I'm using this in some charts I'm building using Charts.js "http://www.chartjs.org".
Zicky