polyfill icon indicating copy to clipboard operation
polyfill copied to clipboard

str_increment wrong for numbers larger PHP_INT_MAX/PHP_INT_MIN

Open kkmuffme opened this issue 6 months ago • 1 comments

var_dump( str_increment('9223372036854775820') );

Additionally, the return should have a (string) type cast to be strictly correct

EDIT: same for str_decrement?

kkmuffme avatar Aug 15 '25 07:08 kkmuffme

I also caught a bug.

str_decrement("99999990"); // "88888889"
str_decrement("99999980"); // "88888879"
str_decrement("99999970"); // "88888869"
str_decrement("99999960"); // "88888859"
str_decrement("99999950"); // "88888849"
str_decrement("99999940"); // "88888839"
str_decrement("99999930"); // "88888829"
str_decrement("99999920"); // "88888819"
str_decrement("99999910"); // "8888889"
str_decrement("99999900"); // "88888899"
str_decrement("99999890"); // "88888789"
str_decrement("99999880"); // "88888779"
str_decrement("99999870"); // "88888769"
str_decrement("99999860"); // "88888759"
str_decrement("99999850"); // "88888749"
str_decrement("99999840"); // "88888739"
str_decrement("99999830"); // "88888729"
str_decrement("99999820"); // "88888719"
str_decrement("99999800"); // "88888799"
str_decrement("99999790"); // "88888689"
str_decrement("99999780"); // "88888679"
str_decrement("99999770"); // "88888669"
str_decrement("99999760"); // "88888659"

inilim avatar Oct 13 '25 17:10 inilim