<?php

function checkWord($toCheck, $solution) {
    $toCheck = str_split($toCheck, 1);
    $solution = str_split($solution, 1);
    $out = array();

    foreach ($toCheck as $pos => $char) {
        if ($char == $solution[$pos]) {
            $out[$pos] = "<span class=\"green\">$char</span>";
            unset($toCheck[$pos], $solution[$pos]);
        }
    }

    foreach ($toCheck as $pos => $char) {
        if (false !== $solPos = array_search($char, $solution)) {
            $out[$pos] = "<span class=\"red\">$char</span>";
            unset($toCheck[$pos], $solution[$solPos]);
        }
    }

    $out += $toCheck;
    ksort($out);

    return implode($out);
}

var_dump(checkWord('abaac', 'aabbc'));