No puedes ir juntando variables de JavaScript con variables de PHP, uno se ejecuta del lado del cliente, y el otro del lado del servidor en ese órden. Puede darte problemas en un futuro.
Código PHP:
Ver original<script type="text/javascript">
var id = window.location.search;
var id=id.substr(1);
</script>
<?php
$id = intval('<script> document.write(id) </script>');
echo (is_nan($id)) ?
'la variable id no es un número' : 'la variable id es un número y tiene valor: '. $id;
?>
Esto me dice que es un número, puedes probarlo. saludos