A PHP ezeket, amiket akartál, speciel pont tudja, de pont a gyengén típusosságából eredő retardáltságai miatt ügyelni kell arra, hogy mielőtt műveletet végzel, biztosan castold az adatot arra a típusra, amilyenre kell. Pl.
$val = ((int)$strpart_x << 1) | ((int)$strpart_y & 0xa0);Bináris fájlt is lehet kezelni benne, pl. byte-array-ként így lehet beolvasni:
<?php
$f = fopen($argv[1], "rb");
$data = unpack("N*", fread($f, filesize($argv[1])));
fclose($f);
echo 'Ez ' . ($data[1080] == 0x4d && $data[1081] == 0x2e && $data[1082] == 0x4b && $data[1083] == 0x2e ? '' : 'nem ') . ' egy ProTracker file.' . "\n";