May I know how can I do PHP >>> ? Such operators is not available in PHP, but is available in Javascript.
I just managed to discover a function as follow:
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$b);
}
return $a;
}
but unfortunately, it doesn't work perfectly.
EG: -1149025787 >>> 0 Javascript returns 3145941509 PHP zeroFill() return 0
For both 32-bit (PHP_INT_SIZE == 4) and 64-bit integers (PHP_INT_SIZE == 8):
I've researched a lot on this, collected more than 11 versions from StackOverflow and open-source projects, none of them worked. But finally, I found the solution.
For more details, live demo, tests and examples check my question and answer:
Unsigned Right Shift / Zero-fill Right Shift in PHP (Java/JavaScript equivalent)