Warum funktioniert mein mehrdimensionales PHP-Array nicht?

Mein mehrdimensionales Array funktioniert. Aber ich kann nicht scheinen, zu verwendenexplode oderin_array um das Array beim Anrufen über einzuschränken$_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>";
}

?>

Wenn ich das Skript mit starte$_GET["filter"]=="black" Es werden alle Elemente angezeigt. Es sollten nur zwei angezeigt werden. Beispiel: Dies ist falsch. Die anderen Zeilen sollten nicht angezeigt werden.

sollte dies stattdessen sein

Antworten auf die Frage(4)

Ihre Antwort auf die Frage