3v4l.org

run code in 300+ PHP versions simultaneously
<?php class parentUserId { private $parentId = ''; function __construct($childid) { // convert given long int into binary it must be 64 bit long $binary = $this->dec2bin_long($childid); //trim first 16 char $binary = substr($binary, 0, 16); //add '0' in the right side upto string length get 64 $binary = str_pad($binary, 64, 0, STR_PAD_RIGHT); //Convet new binary into decimal $this->parentId = $this->bin2dec_long($binary); } public function getParentId() { return $this->parentId; } private function dec2bin_long($decimal_i) { bcscale(0); $binary_i = ''; do { $binary_i = bcmod($decimal_i, '2') . $binary_i; $decimal_i = bcdiv($decimal_i, '2'); } while (bccomp($decimal_i, '0')); return str_pad($binary_i, 64, 0, STR_PAD_LEFT); } private function bin2dec_long($binary_i) { bcscale(0); $decimal_i = '0'; for ($i = 0; $i < strlen($binary_i); $i++) { $decimal_i = bcmul($decimal_i, '2'); $decimal_i = bcadd($decimal_i, $binary_i[$i]); } return($decimal_i); } } $obj = new parentUserId("4335559066275177789"); echo $obj->getParentId(); ?>

preferences:
61.6 ms | 402 KiB | 5 Q