Search code examples
phprandomsampling

PHP randomly select from a list


I am currently working with PHP code that random selects colors:

<div onclick="location.href='<?php the_permalink() ?>';" 
    style="cursor:pointer;background:#<?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?><?php 
        echo rand(0, 9); ?>;" 
    class="post bg thickbox" 
    id="thickbox post-<?php the_ID(); ?>">

What I would prefer to do is define a list of preferred colors in one PHP file, and then randomly sample an element from this list in the code above.

What is the correct PHP code for randomly sampling such a list of colors? How would you define the list of colors?


Solution

  • I would do like most have suggested, define your colors as an array in one php file:

    $colors = array("red", "blue", "#00ff00");
    

    And then use array_rand to select one:

    ...background:<?= $colors[array_rand($colors, 1)] ?>;" class=...