Entonces lo que haces debería estar bien. Para depurar, haz lo siguiente :
Código PHP:
Ver originalforeach($arreglo as $linea) {
// Linea para depurar
echo $partes[0] . ' => ' . $partes[1] . '<br />';
if ($x == $partes[0] and $y == $partes[1]) {
echo "<td id=\"box$x-$y,\" class=\"clase\"></td>";
} else {
echo "<td id=\"box$x-$y,\"></td>";
}
Así podrás ver que imprime en cada loop y así mismo verás si se cumple el if que está debajo.