Por que minha matriz multi-dimensional do PHP não está funcionando?

Meu array multidimensional está funcionando. Mas eu não consigo usarexplode ouin_array para limitar o array ao chamar via$_GET

<?
$shop = array(
array("red", "black", "blue", "green"),
array("orange"),
array("orange", "black"),
array("pink", "yellow")
);

foreach ($shop as $rowNumber => $row)
{
    echo "<li><b>The row number $rowNumber</b>";
        echo "<ul>";
        foreach ($row as $col) {
            if (in_array($col, explode(' and ', $_GET['filter']))){
                echo "<li>".$col."</li>";
            }
        }
        echo "</ul>";
    echo "</li>";
}

?>

Se eu executar o script com$_GET["filter"]=="black" ele exibe todos os itens - deve exibir apenas dois, por exemplo, isso está errado: as outras linhas não devem aparecer:

deveria ser este em seu lugar

questionAnswers(4)

yourAnswerToTheQuestion