Я хочу преобразовать 64-битное двоичное значение в целое число или строку и наоборот.
Я знаю, что могу использовать pack («J *», …) и распаковать («J *», …) для своей работы.
но это работает только в php v5.6 и позже, и моя версия php 5.4
теперь как это сделать в php v5.4 ??
Вы можете сделать это следующим образом, сохранив его как два 32-битных значения:
$high = ($value & 0xffffffff00000000) >> 32;
$low = $value & 0x00000000ffffffff;
$packed = pack('NN', $high, $low);
list($high, $low) = array_values(unpack('N2', $packed));
$value = $high << 32 | $low;
Других решений пока нет …