Beachten Sie, dass nur die 32-Bit-Version von PHP auf der Windows-Plattform verfügbar ist.
Wenn Sie dann zum Beispiel << oder >> um mehr als 31 Bits verschieben, sind die Ergebnisse nicht zu erwarten. Normalerweise wird die ursprüngliche Zahl anstelle von Nullen zurückgegeben, und das kann ein wirklich schwieriger Fehler sein.
Wenn Sie eine 64-Bit-Version von PHP (Unix) verwenden, sollten Sie natürlich eine Verschiebung um mehr als 63 Bit vermeiden. Allerdings verwendet z.B. MySQL das 64-Bit-BIGINT, so dass es keine Kompatibilitätsprobleme geben sollte.
UPDATE: Ab PHP 7 Windows sind PHP-Builds endlich in der Lage, volle 64-Bit-Ganzzahlen zu verwenden: Die Größe einer ganzen Zahl ist plattformabhängig, obwohl ein Maximalwert von etwa zwei Milliarden der übliche Wert ist (das sind 32 Bit mit Vorzeichen). Auf 64-Bit-Plattformen liegt der Höchstwert normalerweise bei etwa 9E18, außer unter Windows vor PHP 7, wo er immer 32 Bit betrug.