In previous series of BeBot UserID's have been treated as integer values. This has been due to the fact that unlike most other operations in PHP, unpack() does NOT automatically convert numeric values greater than a 32bit integer can handle to a float. As such BeBot allowed the integer to overflow to become a negative signed integer.

As of BeBot 0.7.0 this is no longer true. We now handle high UserID's as floats, and as such this means special care have to be taken whenever comparing UserID's.

Do NOT compare UserID's the way you would a normal integer, ie

if ($userid == $userid2)

Instead use the bc_cmp function, ie

if (bccomp($userid, $userid2) == 0)

bccomp return values are

Returns 0 if the two operands are equal, 1 if the left_operand  is larger than the right_operand , -1 otherwise. 
  • userid_handling.txt
  • Last modified: 2020/09/12 01:30
  • (external edit)