1--TEST-- 2Bug #54547: wrong equality of string numbers near LONG_MAX with 64-bit longs 3--SKIPIF-- 4<?php 5if (PHP_INT_MAX !== 9223372036854775807) 6 die("skip for 64-bit long systems only"); 7--FILE-- 8<?php 9var_dump("9223372036854775807" == "9223372036854775808"); 10var_dump("-9223372036854775808" == "-9223372036854775809"); 11var_dump("0x7fffffffffffffff" == "9223372036854775808"); 12 13/* not exactly what the bug is about, but closely related problem: */ 14var_dump("999223372036854775807"=="999223372036854775808"); 15var_dump("899223372036854775807">"00999223372036854775807"); 16--EXPECT-- 17bool(false) 18bool(false) 19bool(false) 20bool(false) 21bool(false) 22