Ho questo semplice (a quanto pare non per me) codice

Codice PHP:
<?php
$shop 
$_GET['shop'];
if ((isset(
$shop)) and ($shop 572)) 
    {
         
header("Location: http://www.link1.com"); 
    }
else if ((isset(
$shop)) and ($shop 698)) 
    {
         
header("Location: http://www.link2.com");
    }
else if ((isset(
$shop)) and ($shop 451)) 
    { 
        
header("Location: http://www.link3.com");
    }
else if ((isset(
$shop)) and ($shop 482)) 
    { 
        
header("Location: http://www.link4.com");
    }
else 
    {
        
"";
    }
?>
Il problema è che mi reindirizza sempre al link1 qualunque variabile GET gli passo.

Sembra che fa solo il controllo isset ignorando l'operatore "and"

Magari è una banalità, ma non capisco dove erro.

Grazie