Question

I have a list of letters. I compare this list of letters against an array of the alphabet and get the difference. Then they're put together into one array so I can output it as one list.

//start the array
$alphabet = array();

//the letters I'm using
$letters = array('A','B','C','D','E','F','G','H','I','J','L','M','N','O','P','R','S','T','V');
//place into true array
foreach($letters as $l)
     $alphabet['true'][] = $l;

//alphabet array, place into false array
foreach (range('A','Z') as $char)
     $alphabet['false'][] = $char;

//the not used array by getting the difference of true and false arrays
$alphabet['actual'] = array_diff($alphabet['false'], $alphabet['true']);

//merge the arrays into one array
$new = array_merge($alphabet['true'],$alphabet['actual']);

//sort them naturally
natsort($new);

//list the results
echo  "All together now: <pre>"; print_r($new); echo "</pre>";

Is there a way to style each of the different arrays key-values before placing them into the big array? Something along the lines of the not used letters are a different color? Or am I going about this the wrong way? Thank you for any insight.

Was it helpful?

Solution

If it where me I would do something like this.

//start the array
$alphabet = array();

//the letters I'm using
$used = array('A','B','C','D','E','F','G','H','I','J','L','M','N','O','P','R','S','T','V');
$alphabet = range('A','Z');
echo "<ul>";
foreach($alphabet as $letter){
    if (in_array($letter, $used)){
        echo "<li class='used'>".$letter."</li>";
    } else {
        echo "<li class='unused'>".$letter."</li>";
    }
}
echo "</ul>";

and make a couple of css rules

li.used { color:green; }
li.unused { color:red; }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top